pandas dataframe loc用法:为loc提供索引长度实际上意味着什么?



我读过关于数据框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

最新更新