从csv文件:将第一列的unix时间戳转换为year并创建一个图形

2024-06-25 06:52:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从csv文件创建一个绘图。在csv文件中,第一列是时间戳,第二列到第六列是不同的参与方。我想创建一个图表,其中x轴是年份(即2004年),并用y轴上各方的百分比值绘制该图。在

csv文件如下所示:

 date,CSU/CDU,SPD,Gruene,FDP,Linke
 891468000.0,34,44,6,5,6
 891986400.0,34,44,6,5,6
 892677600.0,35,43,6,5,5
 894405600.0,32,46,6,6,5
 895010400.0,33,46,5,5,5

我试过下面的代码。在

^{pr2}$

从我的csv文件的第一列,我想把时间戳转换成年份,同时,我还需要在条形图中显示,这样就可以很容易地识别出颜色差异。在

我希望这张图看起来像下页的第五张

https://moderndata.plot.ly/elections-analysis-in-r-python-and-ggplot2-9-charts-from-4-countries/

提前谢谢!在


Tags: 文件csv绘图date图表时间绘制百分比
1条回答
网友
1楼 · 发布于 2024-06-25 06:52:58

你可以使用pandas的csv阅读器。文档在这里:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

看起来像这样:

将熊猫作为pd导入

import matplotlib.pyplot as plt
import datetime

df = pd.read_csv("polldata.csv", delimiter=',')

df['date'] = df['date'].apply(lambda ts: datetime.datetime.utcfromtimestamp(ts).strftime('%Y'))
print(df)

ols = df.columns
for n in range (len(cols)):
    plt.plot(df,label=cols[n])

plt.xlabel('year',fontsize=14)
plt.ylabel('parties',fontsize=14)

plt.show()

它将打印:

^{pr2}$

这能让你开始吗?在

相关问题 更多 >