使用Pandas获取CSV文件Date列首行数据的问题
解决Pandas获取CSV中'Date'列首行数据返回NaN的问题
你的问题出在索引方式用错了,先给你几个靠谱的解决方法:
正确方法
1. 基于位置索引(最稳妥)
直接用iloc定位第一行(位置索引从0开始):
# 两种写法都可以 first_date = FILE['Date'].iloc[0] # 或者 first_date = FILE.iloc[0]['Date']
2. 用head()取值
如果只想取首行数据,也可以用head(1)拿到第一行的Series,再提取值:
first_date = FILE['Date'].head(1).values[0]
3. 适配非连续索引的情况
如果你的DataFrame行索引不是从0开始的(比如读取CSV时指定了index_col参数,或者数据本身带自定义索引),可以先拿到第一个索引标签再取值:
first_date = FILE['Date'].loc[FILE.index[0]]
为什么之前的代码不行?
FILE['Date'][0]:这是标签索引,它找的是行标签为0的那一行,而不是位置上的第一行。如果你的DataFrame索引不是从0开始,自然找不到对应行,返回NaN。FILE.iloc[1]['Date']:iloc[1]对应的是第二行(位置索引从0计数),你要的是首行,应该用iloc[0]才对。
内容的提问来源于stack exchange,提问作者Geo48
相关产品推荐
相关产品推荐

