【问题标题】:Create array from dataframe columns in python - error when iterating从python中的数据框列创建数组-迭代时出错
【发布时间】:2021-11-23 05:16:41
【问题描述】:

我已经创建了这个数据框

d = {'col1': [1], 'col2': [3]}
df = pd.DataFrame(data=d)
print(df)

然后我创建了一个名为“columnA”的字段,它应该是一个由 col1 和 col2 中包含的两个元素组成的数组:

filter_col = [col for col in df if col.startswith('col')]
df["columnA"] = df[filter_col].values.tolist()
print(df)

现在,我希望 columnA 是一个列表(或数组),但是当我检查该字段的长度时,我得到 1(不是 2,正如我所料):

print("Lenght: ",str(len(df['columnA'])))

长度:1

我需要做什么才能获得 2 的值并因此能够遍历该数组?

例如,我可以做这个迭代:

for i in range(len(df['columnA'])):
    print(i)

结果: 0 1

有人可以帮帮我吗?

【问题讨论】:

    标签: python arrays dataframe loops arraylist


    【解决方案1】:

    你在正确的轨道上,而不是直接在数据帧上使用 len(),你必须取值然后应用

    print("Lenght: ",len(df['columnA'].values[0]))
    

    【讨论】:

    • 哦!非常感谢!
    【解决方案2】:
    for item in df["columnA"]:
        for num in item:
            print(num)
    

    这将直接遍历列

    【讨论】:

      猜你喜欢
      • 2021-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多