Python 如何获取熊猫索引位置和名称
我想从pandas数据框中获取名称和索引位置,并进入如下逻辑,只是想知道是否有更好的方法来处理这个问题Python 如何获取熊猫索引位置和名称,python,pandas,Python,Pandas,我想从pandas数据框中获取名称和索引位置,并进入如下逻辑,只是想知道是否有更好的方法来处理这个问题 import pandas as pd df = pd.read_csv('/docs/Credit_Card.csv', encoding='ISO-8859-1') cols = df.columns col = [df.columns.get_loc(c) for c in df.columns if c in cols] print(pd.DataFrame(list(zip(col
import pandas as pd
df = pd.read_csv('/docs/Credit_Card.csv', encoding='ISO-8859-1')
cols = df.columns
col = [df.columns.get_loc(c) for c in df.columns if c in cols]
print(pd.DataFrame(list(zip(cols, col)),columns=['index_Name', 'Index_Number']))
结果输出:
index_Name Index_Number
0 Card Type Code 0
1 Card Type Full Name 1
2 Issuing Bank 2
3 Card Number 3
4 Card Holder's Name 4
5 CVV/CVV2 5
6 Issue Date 6
7 Expiry Date 7
8 Billing Date 8
9 Card PIN 9
10 Credit Limit 10
使用:
类似于:
或:
使用
dict
{name:column\u names:number:column\u numering}
创建数据场
In [591]: pd.DataFrame({'index_Name': df.columns, 'Index_Number': range(len(df.columns))})
Out[591]:
index_Name Index_Number
0 Card Type Code 0
1 Card Type Full Name 1
2 Issuing Bank 2
3 Card Number 3
4 Card Holder's Name 4
5 CVV/CVV2 5
6 Issue Date 6
7 Expiry Date 7
8 Billing Date 8
9 Card PIN 9
10 Credit Limit 10
或使用
In [621]: pd.DataFrame({'index_Name': df.columns}).rename_axis('index_Number').reset_index()
Out[621]:
index_Name Index_Number
0 Card Type Code 0
1 Card Type Full Name 1
2 Issuing Bank 2
3 Card Number 3
4 Card Holder's Name 4
5 CVV/CVV2 5
6 Issue Date 6
7 Expiry Date 7
8 Billing Date 8
9 Card PIN 9
10 Credit Limit 10
@零,很好。。你能稍微解释一下逻辑吗,虽然我看到我们在这里使用的是带范围的字典。@Zero,第二种方法看起来更优雅。@jezrael又是一种不错的方法,我只看到第一种解决方案,因为我们还需要导入
numpy
。@pygo-是,为了获得更好的性能,最好在pandasnp.arange
likerange
;)
df1 = pd.Series(df.columns).reset_index()
df1.columns = ['Index_Number','index_Name']
In [591]: pd.DataFrame({'index_Name': df.columns, 'Index_Number': range(len(df.columns))})
Out[591]:
index_Name Index_Number
0 Card Type Code 0
1 Card Type Full Name 1
2 Issuing Bank 2
3 Card Number 3
4 Card Holder's Name 4
5 CVV/CVV2 5
6 Issue Date 6
7 Expiry Date 7
8 Billing Date 8
9 Card PIN 9
10 Credit Limit 10
In [621]: pd.DataFrame({'index_Name': df.columns}).rename_axis('index_Number').reset_index()
Out[621]:
index_Name Index_Number
0 Card Type Code 0
1 Card Type Full Name 1
2 Issuing Bank 2
3 Card Number 3
4 Card Holder's Name 4
5 CVV/CVV2 5
6 Issue Date 6
7 Expiry Date 7
8 Billing Date 8
9 Card PIN 9
10 Credit Limit 10