如何读取DataFrame中被当作无命名列的行索引数据?
解决方法:获取DataFrame的索引值
嘿,你之前的困惑其实是把索引(Index)当成了无命名列啦!看你的DataFrame,左边那串70、71...并不是一列数据,而是Pandas用来标记每一行的索引。你用iloc()和columns[0]操作的都是真正的列数据/列名,自然拿不到这些数字。
下面是具体的解决步骤:
1. 直接获取索引对象
用df.index就能拿到这组索引值,它会返回一个Pandas的Index对象:
print(df.index) # 输出:Int64Index([70, 71, 72, 73, 74], dtype='int64')
2. 转换成你需要的格式
如果要给网站图表做标签,你可以把它转成列表或者逗号分隔的字符串:
- 转成列表:
index_list = df.index.tolist() print(index_list) # 输出:[70, 71, 72, 73, 74]
- 转成逗号分隔的字符串(直接可用作标签文本):
index_labels = ', '.join(map(str, df.index)) print(index_labels) # 输出:"70, 71, 72, 73, 74"
为什么你之前的方法没用?
iloc[:, 0]:这个是取DataFrame的第一列数据(也就是你的acolumn列),和索引完全不相关。df.columns[0]:这个是取第一列的列名(也就是'acolumn'),同样和索引无关。
这样就能轻松拿到你要的标签值啦!
内容的提问来源于stack exchange,提问作者Ardan
相关产品推荐
相关产品推荐

