带有带括号的 header 的 Python DataFrame 错误

标签 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' object has no attribute '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)

最佳答案

您应该考虑通过 .(点)运算符访问您的列是一种特权便利。它在很多情况下都可能崩溃,有时甚至是悄无声息的。如果您想访问该列,请使用 []loc[]iloc[]

括号是打破 . 访问器范式的条件之一。

你的情况
不要做

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

改为做

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

关于带有带括号的 header 的 Python DataFrame 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39779726/

相关文章:

python - 通过 pandas 中的唯一列将 2 个数据框列添加到列

python - 从 CSV 文件绘制 Pandas 框架

python - 比较两个 Pandas 数据框的行?

python将mysql查询结果转json

python - 如何在 Python 中使用 XSL 样式表将 XML 转换为 HTML?

python - 在 python 中创建切片对象

python - 重新索引多索引的一个级别的便捷方法

python - 代码终止后保持 matplotlib/pyplot 窗口打开

python - 使用 MatPlotLib 绘制连续数据流

python - matplotlib 轴标签的奇怪错误