df我有這個資料框
>>> df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
'Cost':[10000, 5000, 15000, 2000],
'Name':['Roy', 'Abraham', 'Blythe', 'Sophia'],
'Age':['20', '10', '13', '17']})
我想確定具有相應名稱的列索引。我用這個試過:
>>> list(df.columns)
但是上面的解決方案只回傳沒有索引號的列名。
我如何對其進行編碼,以便它回傳列名和該列的相應索引?像這樣:
0 Date
1 Event
2 Cost
3 Name
4 Age
uj5u.com熱心網友回復:
獲取字典的好方法:
d = dict(enumerate(df))
輸出:{0: 'Date', 1: 'Event', 2: 'Cost', 3: 'Name', 4: 'Age'}
對于一個系列,pd.Series(list(df))就足夠了,因為迭代直接發生在列名上
uj5u.com熱心網友回復:
最簡單的是添加pd.Series建構式:
pd.Series(list(df.columns))
或將列轉換為系列并創建默認索引:
df.columns.to_series().reset_index(drop=True)
或者:
df.columns.to_series(index=False)
uj5u.com熱心網友回復:
除了 using 之外enumerate,這里還可以通過 using 得到一個按順序排列的數字zip,如下:
import pandas as pd
df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/11'],
'Event':['Music', 'Poetry', 'Theatre', 'Comedy'],
'Cost':[10000, 5000, 15000, 2000],
'Name':['Roy', 'Abraham', 'Blythe', 'Sophia'],
'Age':['20', '10', '13', '17']})
result = list(zip([i for i in range(len(df.columns))], df.columns.values,))
for r in result:
print(r)
#(0, 'Date')
#(1, 'Event')
#(2, 'Cost')
#(3, 'Name')
#(4, 'Age')
uj5u.com熱心網友回復:
您可以像這樣使用回圈:
myList = list(df.columns)
index = 0
for value in myList:
print(index, value)
index = 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/424794.html
下一篇:從csv繪制Windrose
