我读过关于数据框loc
的文章。我不明白为什么dataframe(indexPD)
的长度被提供给loc
作为第一个参数。基本上这个loc
表示什么?
tp_DataFrame = pd.DataFrame(columns=list(props_file_data["PART_HEADER"].split("|")))
indexPD = len(tp_DataFrame)
tp_DataFrame.loc[indexPD, 'item_id'] = something
这只是告诉pandas您希望对数据框架中该列的所有行执行操作。考虑这个pandas Dataframe:
df = pd.DataFrame(zip([1,2,3], [4,5,6]), columns=['a', 'b'])
a b
0 1 4
1 2 5
2 3 6
你的变换df.loc[len(df), 'b'] = -1
等价于df.loc[:, 'b'] = -1
。您正在将此-1
转换应用于所需列的所有行,两者都产生:
a b
0 1 -1
1 2 -1
2 3 -1
第一个参数的目的是指定该列中的哪些索引将遭受转换。. 例如,如果您只希望前两行进行转换,那么您可以这样指定:
df.loc[[0,1], 'b'] = -1
a b
0 1 -1
1 2 -1
2 3 6