df.iterrows()を使用してデータフレームをループしています。すべての行をループする代わりに、毎回アクセスする行の数を設定したいと思います。まず、最初の2行にアクセスしたい場合は、3行目から6行目、残りの行になります。行をループする方法はありますか?ここで設定された行数にアクセスするためのPandas 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