首页 > 解决方案 > 如何将 Int64Index 转换为索引(从 CSV 读取)?

问题描述

我有一个 CSV 文件,内容是:

在此处输入图像描述

然后我通过以下方式阅读此文件:

A = pd.read_csv("MyTest2.csv")
A.columns

输出是

Index(['ID', '202005'], dtype='object')

但是,如果我传输数据框并删除一些未使用的列,则通过:

A = pd.read_csv("MyTest2.csv")
A = A.T
A = A.rename(columns=A.iloc[0])
A = A.drop(A.index[0])
A.columns

输出将变为:

Int64Index([1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243], dtype='int64')

我的问题是我想使用 A["1234"] 来读取列值,而不是 A[1234](不带双引号)。

如何将 Int64Index 转换为索引?或者在传输计算期间防止索引变为 Int64Index(或 RangeIndex)的正确方法?

标签: pythonpandas

解决方案


  • ID列转换为str类型.astype
A = pd.read_csv("MyTest2.csv")  # create the dataframe

A.ID = A.ID.astype('str')  # convert ID to a str type
  • dtype在文件中读取时设置
A = pd.read_csv('MyTest2.csv', dtype={'ID': str})

推荐阅读