【问题标题】:Creating a dataframe using input variables pandas使用输入变量 pandas 创建数据框
【发布时间】:2020-07-14 05:38:54
【问题描述】:

我正在尝试从用户可以输入的变量中创建一个数据框。用户输入开始和结束日期,程序在 .csv 文件中搜索相应的日期。 .csv 文件有两列,timestamp 和 users_holding 一旦找到日期,它会从最近时间(例如/晚上 11:55)获取数据并将其返回给用户。

我希望我的用户能够输入开始日期和结束日期,并接收以这些对应日期作为开始和结束日期的折线图。我的计划是使用用户输入的开始日期和结束日期变量创建一个数据框,但我不知道该怎么做。

我相信我的程序可以成功找到开始和结束日期,我正在努力 1) 从开始值和结束值建立数据框,以及 2) 使用该数据框创建折线图。这是我的代码示例:

#date range input
start_date = input("Enter a start date (YYYY-MM_DD): ")
end_date = input("Enter an end date (YYYY-MM_DD): ")

#searching for start date
start_date_match = df[df['timestamp'].str.contains(start_date)]
maxvalues_start_date_match = start_date_match.max()

#searching for end date
end_date_match = df[df['timestamp'].str.contains(end_date)]
maxvalues_end_date_match = end_date_match.max()

#establish another dataframe composed of the date range
df_range = pd.DataFrame({"timestamp":[maxvalues_start_date_match, maxvalues_end_date_match], "users_holding":[maxvalues_start_date_match, maxvalues_end_date_match]})
print(df_range)

#graph the dataframe ranging from start to end date
df_range.plot(x='timestamp', y='users_holding', kind='line')
plt.show()

感谢任何帮助

【问题讨论】:

    标签: python pandas dataframe date graph


    【解决方案1】:

    如果您想绘制数据图表,Bokeh 可视化库 (https://bokeh.org/) 是一种出色且可自定义的方式。至于您的 DataFrame,也许可以尝试使用 pandas date_range 函数来创建日期列表,然后将其添加到 DataFrame 中?

    >>> import pandas as pd
    >>> start_date='2020-07-01'
    >>> end_date='2020-07-13'
    >>> datelist=pd.date_range(start_date, end_date).tolist()
    >>> df=pd.DataFrame()
    >>> df['Dates']=datelist
    >>> df
            Dates
    0  2020-07-01
    1  2020-07-02
    2  2020-07-03
    3  2020-07-04
    4  2020-07-05
    5  2020-07-06
    6  2020-07-07
    7  2020-07-08
    8  2020-07-09
    9  2020-07-10
    10 2020-07-11
    11 2020-07-12
    12 2020-07-13
    

    如果日期需要作为DataFrame的索引,可以使用pd.set_index('dates', inplace=true)

    【讨论】:

    • 我收到 TypeError:无法转换输入 [timestamp
    • 如果你遇到时间戳错误,你可以试试pd.date_range(date1, date2).to_pydatetime().tolist()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 2021-12-02
    相关资源
    最近更新 更多