import pandas as pd
df1 = pd.DataFrame([{'a':1,'b':2}])
df2 = pd.DataFrame([{'x':100}])
df2[y] = [df1]
#df2.iloc[:,'y'].shape = (1,)
# type(df2.iloc[:,1][0]) = pandas.core.frame.DataFrame
我想使df成为现有行中的一列。但是,Pandas将此df封装在Series对象中,因此我无法使用点表示法(例如df2.ya)访问它来获取值1。是否有办法使其不发生或对df元素的对象类型有某种限制,例如那不可能吗?
所需的输出是df,例如:
x y
0 100 a b
0 1 2
和type(df2.y)== pd.DataFrame
答案 0 :(得分:1)
您可以沿列轴组合两个DataFrame对象,我认为这可以实现您想要的目的。让我知道这是否是您要找的
import pandas as pd
df1 = pd.DataFrame([{'a':1,'b':2}])
df2 = pd.DataFrame([{'x':100}])
combined_df = pd.concat([df1, df2], axis=1)
print(combined_df)
a b x
0 1 2 100