我正在循环使用df.iterrows()数据框。我想设置每次访问的行数,而不是循环遍历所有行。首先我想访问前两行,然后是第三行到第六行,然后是剩下的行。有没有办法循环行?熊猫df.iterrows()方法来访问一定数量的行:
以下是我有:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
df['key1'] = 0
df.key1.iloc[0:3] = 1
df.key1.iloc[3:7] = 2
df.key1.iloc[7:] = 3
df_grouped = df.groupby('key1')
for group_name, group_value in df_grouped:
fig, axes = plt.subplots(rows, 1, sharex=True, sharey=True, figsize= (15, 20))
for i,r in group_value.iterrows():
rows, columns = group_value.shape
r = r[0:columns-1]
r.plot(kind='bar', fill=False, log=False)
你能告诉我们在每次迭代中必须有'i'的值吗?它会是一个标量还是一系列索引? – Divakar
'i'是行号,并帮助使用df.iloc [I,1:]获取每行中的数据。因此,在循环中的每个实例都将是一个标量。谢谢你的帮助。不知道我是否已经很好地回答了你的问题,但我希望这是有道理的。 –
那么,你如何使用这些索引组:[0,1],然后是[2,3,4,5],然后休息? – Divakar