如何通过循环直到满足特定条件来创建新数据框
How to create a new dataframe by looping until a certain criteria is met
这是一个数据框
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
我想使用 loop 遍历此数据帧,选择每第 n 行创建一个新数据帧,直到新数据帧的长度为 6。
这是我尝试过但不确定如何进行的方法:
在这种情况下 n = 3
row = 0
for row in len(dataframe):
row = row + 3
if row
我不关心效率,想用循环来做这个。
先用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
这是一个数据框
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
我想使用 loop 遍历此数据帧,选择每第 n 行创建一个新数据帧,直到新数据帧的长度为 6。
这是我尝试过但不确定如何进行的方法: 在这种情况下 n = 3
row = 0
for row in len(dataframe):
row = row + 3
if row
我不关心效率,想用循环来做这个。
先用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