首页 > 解决方案 > 循环遍历python中的子数据帧

问题描述

我有一个名为main_df的大熊猫数据框,我想将其拆分为十个子数据框,以便更容易处理。要拆分数据框,我执行了以下操作:

df_split = np.array_split(main_df, 10)

现在我可以通过执行以下操作来调用每个子集:

df_split[0].head(10)
df_split[1].head(10)

等等...

但是现在我想创建一个循环来执行涉及每个子数据帧的操作。我在想一些事情:

for x in df_split:
    df_split[x] = "some action"

这是否是使用 for 循环遍历 df_split 的每个子数据帧的正确方法?任何建议或指南将不胜感激。

标签: pythonpandas

解决方案


唯一的问题是在实施中。当您迭代时,df_split您实际上是直接在数据帧上循环,如您所见:

df_split = np.array_split(df, 2)
for x in df_split :
    print(type(x))

<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.frame.DataFrame'>

所以基本上不要尝试用 索引df_splitx因为它已经是数据框。只需这样做:

for x in df_split:
    x = "some action"

推荐阅读