[英]How to assign a slice to a slice in a Pandas dataframe?
有:
np.random.seed(42)
df_one = pd.DataFrame(np.random.rand(4,3), columns=['colA', 'colB', 'colC'])
和:
df_two = pd.DataFrame(np.ones([2,3]), columns=['colA', 'colB', 'colC'])
当我尝试分配时,如下所示:
df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB']
我得到:
colA colB colC
0.37 0.95 0.73
0.59 0.15 0.15
0.05 NaN 0.60
0.70 NaN 0.96
当期望得到:
colA colB colC
0.37 0.95 0.73
0.59 0.15 0.15
0.05 1.0 0.60
0.70 1.0 0.96
这可以通过在末尾添加一个 to_list() 来完成:
df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB'].to_list()
或者:
df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB'].values
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.