迭代数据框架pandas时如何获取列名?

时间:2017-11-25 01:32:35

标签: python pandas

我只想在使用

进行迭代时使用列名
for index, row in df.iterrows()

3 个答案:

答案 0 :(得分:2)

使用#include <Xlib.h> XEvent = (XEvent *) &xevent // from Gdk.FilterFunc int type = event ->type; switch(type) { case KeyPress: case KeyRelease: do_something_with((XKeyEvent *) event); break; } 迭代数据框时:

df.iterrows

每行for i, r in df.iterrows(): ... 转换为r个对象,pd.Series等于r.indexdf.columns等于{{1} }}

因此,要在每次迭代时访问r.values的列,您可以执行以下操作:

df.iloc[i].values

答案 1 :(得分:2)

您已经开始使用列名,因此如果您只想删除该系列,则可以在启动循环时使用一次性_变量。

for column_name, _ in df.iteritems():
    # do something

但是,我并不是真的了解用例。您可以直接迭代列名称:

for column in df.columns:
    # do something

答案 2 :(得分:1)

当我们使用for index, row in df.iterrows()时,正确的答案是row.index[i]以获取克隆名称,例如:

pdf = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))
pdf.head(5)
    A   B   C   D
  0 3   1   2   6
  1 5   8   7   3
  2 7   2   2   5
  3 0   9   9   4
  4 1   8   1   4
for index, row in pdf[:3].iterrows():# we check only 3 rows in the dataframe

for i in range(4):
     if row[i] > 7 :
        print(row.index[i]) #then the answer is B

B