因此,我尝试使用多个选项来使用列表设置 Pandas 中多个单元格的值,但无法获得正确的结果。在这里和谷歌上搜索都没有运气。 这是我的示例 df
df = pd.DataFrame({'PersonID':['AB-123', 'AB-123', 'AB-123', 'AB-123', 'AB-123'],
'Date':['2/1/2016', '2/2/2016', '2/3/2016', '2/4/2016', '2/5/2016']})
df['Score']=''
我正在尝试在“分数”列中间添加值,并尝试了以下方法;
选项 1:使用 set_value
df = df.set_value([3:5],'Score',[3,4,5])
由于切片和值列表而不起作用。
选项 2:
df.loc[3:5,'Score']=[3,4,5]
与上面相同的问题
选项 3:
df[df.index[3:5]]['Score']=[3,4,5]
以上方法均无效。有谁知道这可以解决吗?
最佳答案
我不知道为什么你需要这个,通过使用numpy.r_
import numpy as np
df.loc[np.r_[2:5],'Score']=[3,4,5]
df
Out[307]:
Date PersonID Score
0 2/1/2016 AB-123 NaN
1 2/2/2016 AB-123 NaN
2 2/3/2016 AB-123 3.0
3 2/4/2016 AB-123 4.0
4 2/5/2016 AB-123 5.0
关于python - Pandas 用列表设置单元格的值范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49247739/