python时间序列国家d

2024-05-08 16:04:15 发布

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

我有一个csv内的这些列,并希望在英国和法国橙色的时间序列格式绘图。你知道吗

我可以在时间序列中为英国和橘子作图,但我不能在时间序列中为英国+法国橘子作图。你知道吗

有人能帮我吗?你知道吗

请看图片附CSV Oranges_Apples_country.csv

import logging
import datetime
import csv
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


#import orangesdata from CSV file
df = pd.read_csv('Oranges_Apples_country.csv')
df.head()
df['date'] = pd.to_datetime(df['date'])
df.set_index('date').head()

df = pd.DataFrame(df, columns = ['country', 'product', 'unit', 'date'])

df['country'] = ['UK', 'FRANCE']
df['product'] = ['ORANGES', 'APPLE']
df['unit'] = ['KG']

Tags: csvimportdfdatetimedateas时间序列
1条回答
网友
1楼 · 发布于 2024-05-08 16:04:15

这里有一些你提到的轴上的子集代码。我从另一个SO post获取了for循环,但我不记得链接了。向那个撰稿人道歉。你知道吗

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (10,8)

fig, ax = plt.subplots()

df = pd.read_csv('fruit.csv', parse_dates = ['DATE'])
df.set_index('DATE', inplace=True)
df2 = df[((df['COUNTRY'] == 'UK') & (df['PRODUCT'] == 'ORANGE')) | \
        ((df['COUNTRY'] == 'FRANCE') & (df['PRODUCT'] == 'ORANGE'))]

labels = []
for key, grp in df2.groupby(['COUNTRY', 'PRODUCT']):
    ax = grp.plot(ax = ax, y = 'QUANTITY')
    labels.append(key)
lines, _ = ax.get_legend_handles_labels()
ax.legend(lines, labels, loc='upper left')
plt.show()

可以使用groupby.sum()求和。你知道吗

df3 = df2.groupby('DATE').sum()
df3.plot()
plt.show()

相关问题 更多 >