2017-03-01 10 views
1

id、name、rating、purchase、支出の列を持つデータフレームを指定します。たとえば、同じループで評価と支出の列を同時にループしたいとしましょう。私はどうしたらいいのですか?私が考えていたアイデアの1つは、2つの列だけを使って小さなデータフレームを作成してループすることでしたが、データフレーム全体をどのように取り、特定の列をループするかを知っているといいと思いました。多くの列を持つデータフレームが与えられた場合、2つの列だけ2つのループを通る方法がありますか?

答えて

2

あなたはサブセットでiterrowsを使用することができます。

df = pd.DataFrame({'id':[1,2,3], 
        'name':[4,5,6], 
        'rating':[7,8,9], 
        'purchase':[1,3,5], 
        'spending':[5,3,6]}) 

print (df) 
    id name purchase rating spending 
0 1  4   1  7   5 
1 2  5   3  8   3 
2 3  6   5  9   6 

for idx, row in df.iterrows(): 
    print (row[['rating','spending']]) 

rating  7 
spending 5 
Name: 0, dtype: int64 
rating  8 
spending 3 
Name: 1, dtype: int64 
rating  9 
spending 6 
Name: 2, dtype: int64  

for idx, row in df[['rating','spending']].iterrows(): 
    print (row) 

rating  7 
spending 5 
Name: 0, dtype: int64 
rating  8 
spending 3 
Name: 1, dtype: int64 
rating  9 
spending 6 
Name: 2, dtype: int64    

スカラ出力 - iterrowsまたはitertuples:出力として

Series

for idx, row in df.iterrows(): 
    print (row["rating"]) 
    print (row["spending"]) 

7 
5 
8 
3 
9 
6    

for row in df.itertuples(): 
    print (row.rating) 
    print (row.spending) 

7 
5 
8 
3 
9 
6 
+0

はありがとうございました! –

1

これは2列をループのための神託の方法です:

あなたはpython2を使用している場合は
for rating, spending in zip(df["rating"],df["spending"]): 
    print (rating, spending) 

from itertools import izip 
for rating, spending in izip(df["rating"],df["spending"]): 
    print (rating, spending) 

これが通じループのためのパンダの方法です:

for _,row in df.iterrows(): 
    print (row["rating"],row["spending"]) 
+0

ありがとう! –

3

使用itertuples

for r, s in df[['rating','spending']].itertuples(index=False): 
    print(r, s) 

7 5 
8 3 
9 6 

借入の@ jezraelのセットアップ

df = pd.DataFrame({'id':[1,2,3], 
        'name':[4,5,6], 
        'rating':[7,8,9], 
        'purchase':[1,3,5], 
        'spending':[5,3,6]}) 

print (df) 
    id name purchase rating spending 
0 1  4   1  7   5 
1 2  5   3  8   3 
2 3  6   5  9   6 
+0

はい、彼らは高価です! – piRSquared

+0

ありがとうございました:) –

関連する問題