উত্তর:
আমি মনে করি concat
এটি করার একটি দুর্দান্ত উপায়। যদি তারা উপস্থিত থাকে তবে এটি সিরিজটির নাম বৈশিষ্ট্যগুলি কলাম হিসাবে ব্যবহার করে (অন্যথায় এটি কেবল তাদের সংখ্যা করে):
In [1]: s1 = pd.Series([1, 2], index=['A', 'B'], name='s1')
In [2]: s2 = pd.Series([3, 4], index=['A', 'B'], name='s2')
In [3]: pd.concat([s1, s2], axis=1)
Out[3]:
s1 s2
A 1 3
B 2 4
In [4]: pd.concat([s1, s2], axis=1).reset_index()
Out[4]:
index s1 s2
0 A 1 3
1 B 2 4
দ্রষ্টব্য: এটি 2 টিরও বেশি সিরিজ পর্যন্ত প্রসারিত।
pd.concat([list_of_dataframes])
কনক্যাট করা পছন্দ করা উচিত new_df = pd.DataFrame(); for df in list_of_dsf: new_df = pd.concat([new_df, df])
।
উভয়ের যদি একই সূচক থাকে তবে আপনি কেন .to_frame ব্যবহার করবেন না?
> = v0.23
a.to_frame().join(b)
< v0.23
a.to_frame().join(b.to_frame())
পান্ডারা স্বয়ংক্রিয়ভাবে এই পাস করা সিরিজগুলিতে স্বয়ংক্রিয়ভাবে প্রান্তিককরণ করবে এবং যৌথ সূচক তৈরি করবে তারা এখানে একই রকম হয়। reset_index
সূচকে একটি কলামে সরিয়ে দেয়।
In [2]: s1 = Series(randn(5),index=[1,2,4,5,6])
In [4]: s2 = Series(randn(5),index=[1,2,4,5,6])
In [8]: DataFrame(dict(s1 = s1, s2 = s2)).reset_index()
Out[8]:
index s1 s2
0 1 -0.176143 0.128635
1 2 -1.286470 0.908497
2 4 -0.995881 0.528050
3 5 0.402241 0.458870
4 6 0.380457 0.072251
উদাহরণ কোড:
a = pd.Series([1,2,3,4], index=[7,2,8,9])
b = pd.Series([5,6,7,8], index=[7,2,8,9])
data = pd.DataFrame({'a': a,'b':b, 'idx_col':a.index})
পান্ডস আপনাকে একটি DataFrame
থেকে মানগুলি এবং কী হিসাবে কলামের নামগুলি dict
দিয়ে একটি তৈরি করতে দেয় Series
। যখন এটি Series
একটি মান হিসাবে সন্ধান করে , এটি Series
সূচকের অংশ হিসাবে সূচকটি ব্যবহার করে DataFrame
। এই ডেটা প্রান্তিককরণ পান্ডাদের অন্যতম প্রধান সুবিধা। ফলস্বরূপ, আপনার অন্যান্য প্রয়োজন না থাকলে সদ্য তৈরি হওয়াটির DataFrame
সদৃশ মান রয়েছে। উপরের উদাহরণে, data['idx_col']
একই ডেটা আছে data.index
।
আমি যদি এই উত্তর দিতে পারে।
সিরিজটিকে ডেটা ফ্রেমে রূপান্তরিত করার পিছনের মৌলিক বিষয়গুলি এটি বুঝতে হবে
1. ধারণাগত স্তরে, ডেটা ফ্রেমের প্রতিটি কলাম একটি সিরিজ।
২. এবং, প্রতিটি কলামের নাম একটি মূল নাম যা একটি সিরিজকে মানচিত্র করে।
আপনি যদি দুটি ধারণাকে মাথায় রেখে থাকেন তবে আপনি সিরিজটিকে ডেটা ফ্রেমে রূপান্তর করার জন্য অনেকগুলি উপায় ভাবতে পারেন। একটি সহজ সমাধান এর মত হবে:
এখানে দুটি সিরিজ তৈরি করুন
import pandas as pd
series_1 = pd.Series(list(range(10)))
series_2 = pd.Series(list(range(20,30)))
স্রেফ কাঙ্ক্ষিত কলামের নাম সহ একটি খালি ডেটা ফ্রেম তৈরি করুন
df = pd.DataFrame(columns = ['Column_name#1', 'Column_name#1'])
ম্যাপিং ধারণাটি ব্যবহার করে ডেটা ফ্রেমের ভিতরে সিরিজ মান রাখুন
df['Column_name#1'] = series_1
df['Column_name#2'] = series_2
এখনই ফলাফলগুলি পরীক্ষা করুন
df.head(5)
নিশ্চিত না যে আমি আপনার প্রশ্নটি পুরোপুরি বুঝতে পেরেছি তবে আপনি কি এটি করতে চান?
pd.DataFrame(data=dict(s1=s1, s2=s2), index=s1.index)
( index=s1.index
এখানে এমনকি প্রয়োজনীয় নয়)
এর ভিত্তিতে সমাধানটির সরলীকরণ join()
:
df = a.to_frame().join(b)
আমি আমার ন্যালি অ্যারে বা আইসারিগুলিকে ডেটাফ্রেমে রূপান্তর করতে প্যানডাস ব্যবহার করেছি তারপরে কী হিসাবে অতিরিক্ত ভবিষ্যতবাণী হিসাবে ভবিষ্যদ্বাণী হিসাবে যুক্ত এবং অতিরিক্ত করেছি। আপনার যদি প্রয়োজন হয় ডেটাফ্রেম কোনও তালিকায় ফিরে রূপান্তরিত হয় তবে মানগুলি ব্যবহার করুন। টোলিস্ট ()
output=pd.DataFrame(X_test)
output['prediction']=y_pred
list=output.values.tolist()