【问题标题】:First row not recognized as column headers第一行未被识别为列标题
【发布时间】:2019-07-13 14:15:58
【问题描述】:

我有以下代码:

import pandas as pd

df = pd.read_csv("14_5.csv")

print(df.head())
              Price,Date,Ticker
             104.0,2016-07-01,A
104.87815067615534,2016-07-05,A
104.41190933506331,2016-07-06,A
104.93195657145004,2016-07-07,A
104.42127356374375,2016-07-08,A

当我添加时:

prices = df.Price

到代码,我得到:

AttributeError: 'DataFrame' object has no attribute 'Price'

我做错了什么?我想将每一列保存为一个变量。

【问题讨论】:

    标签: python pandas dataframe columnheader


    【解决方案1】:

    skipinitialspace=True 告诉pd.read_csv 在分隔符后跳过空格。 注意它对列标签的区别:

    In [165]: pd.read_csv('14_5.csv').columns.tolist()
    Out[165]: ['              Price', 'Date', 'Ticker']
    
    In [167]: pd.read_csv('14_5.csv', skipinitialspace=True).columns.tolist()
    Out[167]: ['Price', 'Date', 'Ticker']
    

    您收到AttributeError: 'DataFrame' object has no attribute 'Price' 的原因 是因为列标签被设置为' Price'。因此,您必须使用 df[' Price'] 访问该列。

    如果你使用

    df = pd.read_csv('14_5.csv', skipinitialspace=True)
    

    然后您可以使用df['Price'] 访问第一列。

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 2018-11-08
      • 2015-11-23
      • 2017-09-17
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多