簡體   English   中英

如何在數據框列上進行迭代

[英]How to Iterate on dataframe columns

我的代碼有一點問題。 我想在所有dataframe列上創建一個“ for”循環。 我的解決方案有一個靜態列表,我試圖創建一個動態列表,將“ df_list_cols = df.shape [1]”放進去,但是顯然它不能在Int對象上進行迭代。 有什么想法可以創建動態解決方案嗎?

我上面的解決方案,預先謝謝!

df_list = [0,1,2,3,4]
for i in df_list_cols:
    do stuff

迭代列

你近了 為Pandas數據幀定義in運算符的方式,迭代pd.DataFrame對象等效於對其列進行迭代:

df = pd.DataFrame({'A': [1, 2], 'B': [3, 4], 'C': [5, 6]})

for col in df:
    print(col)
# A
# B
# C

將函數應用於每一列

在許多情況下,您可能希望使用pd.DataFrame.apply將相同的函數應用於每一列:

df = df.apply(lambda x: x*2)

print(df)
#    A  B   C
# 0  2  6  10
# 1  4  8  12

如果每列都有不同的功能,則pd.DataFrame.transformpd.DataFrame.transform

df = df.transform({'A': lambda x: x*2, 'B': lambda x: x*3, 'C': lambda x: x*4})

您可以遍歷df.columns

df.columns為您提供數據df.columns的列的列表。

In [222]: df.columns.tolist()
Out[222]: ['A', 'B', 'C']

In [218]: for i in df.columns:
     ...:     print(i)
     ...:     ## do your stuff
A
B
C

暫無
暫無

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

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