带有括号的标头的Python DataFrame错误

时间:2016-09-29 20:47:41

标签: python pandas matplotlib dataframe

我对python和编程很新。我有一个CSV文件,第一列是字符串标题。

time, speed(m/s), distance(m)
2,6,20
3,2,10

etc..

我想要做的是根据我的选择吐出一堆图表的程序。例如时间与速度。或时间与速度和距离。

我的第一个问题是每当我尝试绘制其名称中带有括号的图形时,例如:

df.Accel_Y(g).plot(color='r',lw=1.3)

我收到错误:

  

AttributeError:' DataFrame'对象没有属性' Accel_Y'

如果我尝试使用没有括号的不同列,它可以正常工作。

我尝试将accel_y(g)分配给一个字母,例如z。然后这样做:

f.z.plot(color='r',lw=1.3)

也没有用。

这是我的代码:

import pandas as pd
from pandas import DataFrame, read_csv
import numpy as np
import matplotlib.pyplot as plt


df = pd.DataFrame.from_csv('Flight102_Complete.csv')
df.KestrelTime.plot(color='g',lw=1.3)
df.Accel_Y(g).plot(color='r',lw=1.3)
print (df)

1 个答案:

答案 0 :(得分:1)

您应该考虑通过.(点)运算符访问您的列具有特权方便。它可以在许多情况下破坏,有时甚至是默默无闻。如果您想访问该列,请使用[]loc[]iloc[]进行访问。

括号是违反.访问者范例的条件之一。

在你的情况下 不要做

df.Accel_Y(g).plot(color='r', lw=1.3)

取而代之的是

df['Accel_Y(g)'].plot(color='r', lw=1.3)