Reputation: 681
I have a pandas dataframe and a numpy array of values of that dataframe. I have the index of a specific column and I already have the row index of an important value. Now I need to get the column name of that particular value from my dataframe.
After searching through the documentations, I found out that I can do the opposite but not what I want.
Upvotes: 52
Views: 138405
Reputation: 21
Column.name
It works wonders, especially when iterating!
Eg
Third_Column=DF.iloc[:,2] # where its name is "Third"
Third_Column=='Third' Returns True
for i in DF:
i.name
# this returns the name of each column and can be used in a condition
# to apply a different rule such as a different scale when plotting a
# certain column
Upvotes: 2
Reputation: 862791
I think you need index columns names by position (python counts from 0
, so for fourth column need 3
):
colname = df.columns[pos]
Sample:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,5],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 5 6 3
pos = 3
colname = df.columns[pos]
print (colname)
D
pos = [3,5]
colname = df.columns[pos]
print (colname)
Index(['D', 'F'], dtype='object')
Upvotes: 78