嵌套for循环熊猫数据框不会创建新列

Posted

技术标签:

【中文标题】嵌套for循环熊猫数据框不会创建新列【英文标题】:Nested for loop pandas dataframe does not create a new column 【发布时间】:2022-01-23 23:12:12 【问题描述】:

我有这个嵌套循环:

rolling=['10','20']

for i in range(len(ex)):
    for d in rolling:
       df = nested_df.loc[other_nested_df['pio'][i]:(other_nested_df['pio'][i]+10)].copy()
       ex.loc[i]['date_vert_'+str(d)=df['date'].iloc[-1]

循环没有给出任何错误,但我不明白为什么最后数据框ex 没有另外两列称为date_vert_10date_vert_20

【问题讨论】:

【参考方案1】:

ex.loc[i][...] 更改为ex.loc[i, ...]

rolling=['10','20']

for i in range(len(ex)):
    for d in rolling:
       df = nested_df.loc[other_nested_df['pio'][i]:(other_nested_df['pio'][i]+10)].copy()
       ex.loc[i, 'date_vert_'+str(d)=df['date'].iloc[-1]
       # ^^^^^^^^^^^ changed

【讨论】:

以上是关于嵌套for循环熊猫数据框不会创建新列的主要内容,如果未能解决你的问题,请参考以下文章

熊猫:循环列表并从列中的列表中查找单词...使用列表中的找到的单词创建新列

For循环子集化的熊猫数据框

用于对熊猫进行比较的循环

我如何在python中使用for循环制作熊猫数据框对象

迭代循环并将列表添加到新行或新列中的数据框

在 for 循环中创建和命名熊猫系列