【问题标题】:Select columns from a csv file based on user input根据用户输入从 csv 文件中选择列
【发布时间】: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


    【解决方案1】:

    最简单的方法是使用CSV 模块和matplotlib。

    Matplotlib 有一个时间序列示例。 e.g. 1。您还可以查看库可以执行的其他类型的绘图over here

    如果不知道您正在处理什么样的数据以及需要做什么,很难推荐一种方法。

    【讨论】:

    • 感谢您的建议,我发布了我正在使用的代码
    【解决方案2】:

    可能需要比这更多的信息来尝试和帮助。

    您是否使用 Web 框架来绘制您的绘图,例如 Flask 或 Django?

    使用 csv 模块将列标题作为字段标识符,CSV 文件很容易阅读。 https://docs.python.org/3/library/csv.html

    希望你能找到答案。

    【讨论】:

    • 谢谢,我将发布我正在使用的代码以获取更多详细信息。请检查已编辑的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    相关资源
    最近更新 更多