小编Sim*_*dio的帖子

如何使用两条单​​独计算的线为seaborn线图创建图例

我有以下线图,我需要为两条线创建图例。我的问题是我不知道如何将 legend() 与这两行一起使用。

我想要的是在图表外面有一个图例框,其中 rvn 线的“收入”和 bgt 线的“预算”。

我努力了

plt.legend(handles=[bgt, rvn])

plt.legend((bgt, rvn), ('Budget', 'Revenue')),

但他们没有工作。

bgt = sns.lineplot(x= 'release_year', y='budget_adj_avg', data= df_bpr_avg) # blue
rvn = sns.lineplot(x= 'release_year', y='revenue_adj_avg', data= df_bpr_avg);# orange
plt.xlabel("Release year")
plt.ylabel("Amount ($)")
plt.title("Comparison average movies Budget and Revenue per year")
#plt.legend((bgt, rvn), ('Budget', 'Revenue'))
plt.legend(handles=[bgt, rvn])
plt.show()
Run Code Online (Sandbox Code Playgroud)

python data-visualization matplotlib legend seaborn

3
推荐指数
1
解决办法
9971
查看次数

Pandas 将日期字符串(仅月份和年份)转换为日期时间

我正在尝试将日期时间对象转换为日期时间。在原始数据框中,数据类型是字符串,数据集的形状为 (28000000, 26)。重要的是,日期格式仅为 MMYYYY。这是一个数据示例:

                       DATE
Out[3]    0           081972
          1           051967
          2           101964
          3           041975
          4           071976
Run Code Online (Sandbox Code Playgroud)

我试过:

df['DATE'].apply(pd.to_datetime(format='%m%Y'))
Run Code Online (Sandbox Code Playgroud)

pd.to_datetime(df['DATE'],format='%m%Y')
Run Code Online (Sandbox Code Playgroud)

我两次都遇到运行时错误

然后

df['DATE'].apply(pd.to_datetime)
Run Code Online (Sandbox Code Playgroud)

它适用于其他未显示的列(采用 DDMMYYYY 格式),但使用 df['DATE'] 生成未来日期,因为它将日期读取为 MMDDYY 而不是 MMYYYY。

            DATE
0       1972-08-19
1       2067-05-19
2       2064-10-19
3       1975-04-19
4       1976-07-19
Run Code Online (Sandbox Code Playgroud)

期望输出:

          DATE
0       1972-08
1       1967-05
2       1964-10
3       1975-04
4       1976-07
Run Code Online (Sandbox Code Playgroud)

如果这个问题是重复的,请引导我到原来的问题,我找不到任何合适的答案。

预先感谢大家的帮助

python string-to-datetime pandas

3
推荐指数
1
解决办法
7266
查看次数