Matplotlib 打印,具有多个单词名称的列

Matplotlib 打印,具有多个单词名称的列,matplotlib,pandas,Matplotlib,Pandas,我能够读取类似以下内容的文件“data.csv”: Time, Upper Layer Temperature,..., 0, 450,..., ... 使用熊猫: data=pd.read_table('data.csv',header=0,sep=',') 要进行绘图,我似乎无法正确使用语法: pl.plot(data.Time,data.'Upper Layer Temperature',label="ULT") 当列名中有多个用空格分隔的单词时,按列名绘图的正确方法是什么?您可以使

我能够读取类似以下内容的文件“data.csv”:

Time, Upper Layer Temperature,...,
0, 450,...,
...
使用熊猫:

data=pd.read_table('data.csv',header=0,sep=',')
要进行绘图,我似乎无法正确使用语法:

pl.plot(data.Time,data.'Upper Layer Temperature',label="ULT")

当列名中有多个用空格分隔的单词时,按列名绘图的正确方法是什么?

您可以使用字典样式而不是属性样式,即
数据[“上层温度”]
。例如:

>>> df = pd.DataFrame({"A": [1,2,3], "B has a space": [10,20,30]})
>>> df
   A  B has a space
0  1             10
1  2             20
2  3             30

[3 rows x 2 columns]
>>> df["B has a space"]
0    10
1    20
2    30
Name: B has a space, dtype: int64
>>> plt.plot(df["A"], df["B has a space"], label="fred")
[<matplotlib.lines.Line2D object at 0xb75106c>]
您可以使用
skipinitialspace=True
来避免这种情况:

>>> data=pd.read_table('data.csv',header=0,sep=',',skipinitialspace=True)
>>> data.columns
Index([u'Time', u'Upper Layer Temperature', u'...', u'Unnamed: 3'], dtype='object')
>>> data=pd.read_table('data.csv',header=0,sep=',',skipinitialspace=True)
>>> data.columns
Index([u'Time', u'Upper Layer Temperature', u'...', u'Unnamed: 3'], dtype='object')