簡體   English   中英

使用變量迭代 Pandas 中的列

[英]Iterating over columns in pandas with variables

我有一個看起來像的數據框:

import pandas as pd
f = {'business':['FX','IR','IR'],'level':['A','A','L'],'amt':[1,2,3]}
df1 = pd.DataFrame(data=f)
df1

我有一個循環,它通過創建變量來遍歷數據框的列:

for business_v,level_v,amt in list(zip(*[df1[col]for col in df1])):
    print (business_v,levelv,amt)

有沒有辦法根據數據幀df1的列數自動創建變量,而不是定義三個變量business_vlevel_vamt 我的數據框大小發生變化,我想根據數據框的大小創建變量。

您可以考慮使用索引,而不是創建任意數量的變量,如下所示:

for idx in range(df1.shape[0]):
    print ([df1.iloc[i][col] for col in df1.columns()])

如果您只想在后續代碼中使用列的子集,則可以使用自定義列集而不是調用 df1.columns()。

如果我理解正確,您想遍歷行並且不想在 for 循環中指定變量。 您可以使用.itertuples()然后:

for t in df1.itertuples():
    print(t.business, t.level, t.amt)

印刷:

FX A 1
IR A 2
IR L 3

.iterrows()

for idx, t in df1.iterrows():
    print(idx, t[0], t[1], t[2])

印刷:

0 FX A 1
1 IR A 2
2 IR L 3
for i in df1.itertuples():
    print(i[1],i[2],i[3])

FX A 1
IR A 2
IR L 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM