Python 3.x 如何从一个数据帧和另一个数据帧中获取公共列的值?
我有一些列的空数据框Python 3.x 如何从一个数据帧和另一个数据帧中获取公共列的值?,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有一些列的空数据框 df_skeleton = pd.DataFrame(columns=columns) 我有另一个dataframe df,它是上面dataframe的子集,但在这个dataframe中,我有一行值 我想将第二个数据帧的对应值放入 df_skeleton 所有其他列的值都等于零 例如: df_骨架有10列,名称来自col1,col2…..col10 col1 col2 col3 col4 col5 col5 co6 col7 col8 col9 col10
df_skeleton = pd.DataFrame(columns=columns)
我有另一个dataframe df,它是上面dataframe的子集,但在这个dataframe中,我有一行值
我想将第二个数据帧的对应值放入
df_skeleton
所有其他列的值都等于零
例如:
df_骨架有10列,名称来自col1,col2…..col10
col1 col2 col3 col4 col5 col5 co6 col7 col8 col9 col10
0
但它不包含任何行或值。它只是一副骷髅
我的df有3列
col1 col3 col7
0 23 45 10
现在我想要的是
df_skeleton
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10
0 23 0 45 0 0 0 10 0 0 0
与参数填充值一起使用
:
columns = ['col1','col2','col3','col4','col5','col5','co6','col7','col8','col9','col10']
df_skeleton = pd.DataFrame(columns=columns)
df = df.reindex(columns=df_skeleton.columns, fill_value=0)
print (df)
col1 col2 col3 col4 col5 col5 co6 col7 col8 col9 col10
0 23 0 45 0 0 0 0 10 0 0 0
使用
前面的答案也很有效。但这看起来容易理解。@ImranAhmadGhazali-这更好,所以第一个被删除了。非常感谢。
df_skeleton.combine_first(df).fillna(0, downcast='infer')
co6 col1 col10 col2 col3 col4 col5 col5 col7 col8 col9
0 0 23 0 0 45 0 0 0 10 0 0