繁体   English   中英

如何使用 pandas.read_csv( ) 读取原始行名?

[英]How can I read in row names as they were originally, using pandas.read_csv( )?

我需要读取一个包含距离矩阵的.csv 文件,因此它具有相同的行名和列名,并且拥有它们很重要。 但是,下面的代码只能给我一个 dataframe ,其中行名包含在额外的“未命名:0”列中,并且索引再次变为整数,这对于以后的索引非常不方便。

DATA = pd.read_csv("https://raw.githubusercontent.com/PawinData/UC/master/DistanceMatrix_shortestnetworks.csv")

我确实检查了pandas.read_csv文档并使用了index_colheadernames , etc 但似乎没有一个工作。 有人可以帮我吗?

对第一列使用index_col=0参数进行索引:

url = "https://raw.githubusercontent.com/PawinData/UC/master/DistanceMatrix_shortestnetworks.csv"
DATA = pd.read_csv(url, index_col=0)

print (DATA.head())
             Imperial  Kern  Los Angeles  Orange  Riverside  San Bernardino  \
Imperial            0     3            3       2          1               2   
Kern                3     0            1       2          2               1   
Los Angeles         3     1            0       1          2               1   
Orange              2     2            1       0          1               1   
Riverside           1     2            2       1          0               1   

             San Diego  San Luis Obispo  Santa Barbara  Ventura  
Imperial             1                4              4        4  
Kern                 3                1              1        1  
Los Angeles          2                2              2        1  
Orange               1                3              3        2  
Riverside            1                3              3        3  

此问题很可能会出现,因为您的 CSV 与其RangeIndex一起保存,通常没有名称。 保存 DataFrame data.to_csv('file.csv', index = False)时实际上需要进行修复

读取未命名的列作为索引。 为 pd.read_csv 指定一个 index_col=0 参数,这将读取第一列作为索引。

data = pd.read_csv("https://raw.githubusercontent.com/PawinData/UC/master/DistanceMatrix_shortestnetworks.csv",index_col = 0)

并删除未命名的列使用data.drop(data.filter(regex="Unname"),axis=1, inplace=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM