Python 我的数据帧具有NaN值,但不应
我似乎无法访问我拥有的第一行数据(非索引),其他所有数据都可以:Python 我的数据帧具有NaN值,但不应,python,pandas,nan,Python,Pandas,Nan,我似乎无法访问我拥有的第一行数据(非索引),其他所有数据都可以: df = pd.read_csv('stock_conf_GT_50.csv') df.head() 这里的数据看起来不错: close eqId date IntDate expiry delta ivMid conf 0 37.380005 7 2008-01-02 39447 1 50 0.3850 0.8663 1 37.380005 7
df = pd.read_csv('stock_conf_GT_50.csv')
df.head()
这里的数据看起来不错:
close eqId date IntDate expiry delta ivMid conf
0 37.380005 7 2008-01-02 39447 1 50 0.3850 0.8663
1 37.380005 7 2008-01-02 39447 1 90 0.5053 0.7876
2 36.960007 7 2008-01-03 39448 1 50 0.3915 0.8597
3 36.960007 7 2008-01-03 39448 1 90 0.5119 0.7438
4 35.179993 7 2008-01-04 39449 1 50 0.4055 0.8454
列名看起来也不错:
df.columns
Index([' close', 'eqId', 'date', 'IntDate', 'expiry', 'delta', 'ivMid',
'conf'],
dtype='object')
我可以看到一些数据:
df['eqId'].head()
0 7
1 7
2 7
3 7
4 7
Name: eqId, dtype: int64
但不是第一列(非索引):
您可以看到close在索引前有一个空格:
Index([' close', 'eqId', 'date', 'IntDate', 'expiry', 'delta', 'ivMid',
因此,在尝试访问“关闭”列时出现keyrerror
。您必须通过
df['close']
访问它
另一种方法是对列应用strip,以确保它们没有前导空格:
df.index = df.index.map(lambda x: x.strip())
这是可行的,但奇怪的是,这个空间并没有在Jupyter上显示(视觉上),而是在我将它剪切粘贴到这个问题上时显示的。非常感谢你
Index([' close', 'eqId', 'date', 'IntDate', 'expiry', 'delta', 'ivMid',
df.index = df.index.map(lambda x: x.strip())