我是第一次使用python绘制图表。有人告诉我使用以下命令将Pandas用于此目的。现在假设csv
文件具有标头(time
,speed
等)。但是,如何将其更改为csv
文件没有标题时? (数据从第0行开始)
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_csv("P1541350772737.csv")
#df.head(5)
df.plot(figsize=(15,5), kind='line',x='timestamp', y='speed') # scatter plot
答案 0 :(得分:1)
您可以尝试
df = pd.read_csv("P1541350772737.csv", header=None)
使用names
-kwarg可以设置任意列标题,这意味着默默地headers=None
,即从第0行读取数据。
您可能还需要检查文档https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
答案 1 :(得分:1)
我可能会误解您的问题,但我会尽力而为。
问题似乎是您必须读取没有头的csv,但要添加它们。我将使用以下代码:
cols=['time', 'speed', 'something', 'else']
df = pd.read_csv('useful_data.csv', names=cols, header=None)
对于您的绘图,经我的更正,您使用的代码应该可以。我也建议您查看 matplotlib 来绘制图形。
答案 2 :(得分:1)
Pandas更专注于数据结构和数据分析工具,实际上它通过使用Matplotlib作为后端来支持绘图。如果您有兴趣在Python中构建不同类型的图,则可能需要检查一下。
回到Pandas,Pandas假定csv的第一行是标题。但是,如果您的文件没有标题,则可以将header=None
作为参数pd.read_csv("P1541350772737.csv", header=None)
进行传递,然后像现在一样对其进行绘制。
您可以在Pandas read_csv documentation上找到可以传递给Pandas读取csv的命令的完整列表,在那里您会找到许多有用的命令(例如,跳过行,定义索引列等) )
编码愉快!
答案 3 :(得分:1)
对于大多数命令,您可以在相应的文档中找到帮助。看着pandas.read_csv,您会发现一个参数names
names
:类似数组,默认为无
要使用的列名列表。如果文件不包含标题行,则应显式 通过标题=无。
因此,您需要为列指定在数据框中显示的名称。
例如:假设您有此数据文件
1, 2
3, 4
5, 6
那你就可以做
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv("data.txt", names=["A", "B"], header=None)
print(df)
df.plot(x="A", y="B")
plt.show()
输出
A B
0 1 2
1 3 4
2 5 6
答案 4 :(得分:1)