首页 > 解决方案 > 仅填充熊猫数据框中的某些列

问题描述

我正在尝试在 pandas 数据框中保存一些值,但出现错误。我在这里要做的是将这 9 个值分别保存到 pandas 数据帧的第 1(而不是第 0)行的第 5、第 6...13 列中。其他列应保持未填充(暂时)。这是我一直在使用的代码:

e= 100
a= [6, 6]; aa= [6, 6, 6] 
b= [100, 100]; bb = [100, 150]

df = pd.DataFrame(index=range(e), columns=['a', 's', 'd', 'g', \
                                           'h', 'j', 'k', 'l', 'q', 'w',\
                                           'w', 'e', 'e', 'r','q'])

df[0, 5:13] = a[0], a[1], aa[0], aa[1], aa[2], b[0], b[1], bb[0], bb[1]

这是我一直得到的错误。

ValueError: Length of values (9) does not match length of index (100)

标签: pythonpandas

解决方案


使用 iloc 分配到位置行或列索引。并使用 5:14 的切片从第 5 个索引到第 13 个索引(包括第 13 个)

e= 100
a= [6, 6]; aa= [6, 6, 6] 
b= [100, 100]; bb = [100, 150]

df = pd.DataFrame(index=range(e), columns=['a', 's', 'd', 'g', \
                                           'h', 'j', 'k', 'l', 'q', 'w',\
                                           'w', 'e', 'e', 'r','q'])

df.iloc[0, 5:14] = a[0], a[1], aa[0], aa[1], aa[2], b[0], b[1], bb[0], bb[1]

推荐阅读