简体   繁体   English

如何将切片分配给 Pandas dataframe 中的切片?

[英]How to assign a slice to a slice in a Pandas dataframe?

Having:有:

np.random.seed(42)
df_one = pd.DataFrame(np.random.rand(4,3), columns=['colA', 'colB', 'colC'])

And:和:

df_two = pd.DataFrame(np.ones([2,3]), columns=['colA', 'colB', 'colC'])

When I try to assign, like this:当我尝试分配时,如下所示:

df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB']

I get:我得到:

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

When expecting to get:当期望得到:

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

This can be done adding a to_list() at the end:这可以通过在末尾添加一个 to_list() 来完成:

df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB'].to_list()

Or:或者:

df_one.loc[2:4, 'colB'] = df_two.loc[:, 'colB'].values

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM