【发布时间】:2021-09-23 02:15:57
【问题描述】:
我是 Python 新手,我想制作一个小程序,从用户列名或多个列名中获取需要对时间进行绘图。
考虑列名:“time”、“c2”、“c3”、“c4”、“c5”、“c6”
需要从 csv 文件中选择列名作为用户输入来绘制时间序列曲线,但是,它对我不起作用。你有什么想法或类似的代码可以分享吗?
我用来绘制曲线的代码如下所示,请注意,csv 文件中的所有列都是相对于时间列绘制的,时间列是用 epoch 编写的,稍后我转换为人类可读的时间。
import pandas as pd
import pandas
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (10, 5)
plt.style.use('fivethirtyeight')
# import the csv file and epoch time conversion
df = pd.read_csv(.csv',parse_dates=['time'], date_parser=lambda epoch: pandas.to_datetime(epoch, unit='s'))
print(df)
# make sure the time column is actually time format
df['time']=pd.to_datetime(df['time'])
# set time as the index
df.set_index('time',inplace=True)
df.plot(linewidth=2, fontsize=12)
【问题讨论】:
标签: python csv datetime plot user-input