【问题标题】:How to create a new dataframe by looping until a certain criteria is met如何通过循环直到满足特定条件来创建新的数据框
【发布时间】:2022-01-11 22:33:48
【问题描述】:

这是一个数据框

dataframe = {'Mon':[1,7,0,4,2,8],
             'Tue':[8,4,2,5,9,3],
             'Wed':[0,5,1,1,4,3],
             'Thu':[8,6,5,7,6,8],
             'Fri':[4,5,4,6,5,7],
             'index':['Lucy','Guzy','Lisa,'Kala','Lura','kim']}

看起来像:

index Mon Tue Wed Thu Fri
lucy  1   8   0   8   4
Guzy  7   4   5   6   5
Lisa  0   2   1   5   4
Kala  4   5   1   7   6
lura  2   9   4   6   5
kimi  8   3   3   8   7

我想使用 循环 来迭代这个数据帧,选择每第 n 行来创建一个新数据帧,直到新数据帧的长度为 6。

这是我尝试过的,但不确定如何继续: 在这种情况下 n = 3

row = 0
for row in len(dataframe):
    row = row + 3
    if row 

我不关心效率,我想使用循环来做到这一点。

【问题讨论】:

    标签: python dataframe for-loop while-loop


    【解决方案1】:

    首先使用iloc[::3] 对每三行进行切片,然后使用iterrows 对其进行循环:

    for idx,row in dataframe.iloc[::3].iterrows():
        print(f'row {idx}')
        print(row)
    

    输出:

    row 0
    Mon         1
    Tue         8
    Wed         0
    Thu         8
    Fri         4
    index    Lucy
    Name: 0, dtype: object
    row 3
    Mon         4
    Tue         5
    Wed         1
    Thu         7
    Fri         6
    index    Kala
    Name: 3, dtype: object
    

    【讨论】:

      猜你喜欢
      • 2020-06-16
      • 1970-01-01
      • 2018-11-09
      • 2020-08-21
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多