我有一个带有正值和负值的Pandas DataFrame作为条形图.我想绘制正面颜色'绿色'和负面值'红色'(非常原始...大声笑).如果> 0'green'else <0'red',我不知道如何通过?
data = pd.DataFrame([[-15], [10], [8], [-4.5]],
index=['a', 'b', 'c', 'd'],
columns=['values'])
data.plot(kind='barh')
Run Code Online (Sandbox Code Playgroud)

我想在 12 月至 1 月的一个 12 个月轴上绘制 6 年的 12 个月期间数据。
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
df = pd.Series(np.random.randn(72), index=pd.date_range('1/1/2000', periods=72, freq='M'))
# display(df.head())
2000-01-31 0.713724
2000-02-29 0.416233
2000-03-31 -0.147765
2000-04-30 0.141021
2000-05-31 0.966261
Freq: M, dtype: float64
grouped = df.groupby(df.index.map(lambda x: x.year))
grouped.plot()
Run Code Online (Sandbox Code Playgroud)

我在每一年之间都得到了突破。然而,我想做的是将年份相互叠加。有什么简单干净的方法可以做到吗?
我想在 Pandas DataFrame 中取消堆叠一列。DataFrame 由“日期”索引,我想拆开“国家/地区”列,以便每个国家/地区都是自己的列。当前的熊猫 DF 如下所示:
Country Product Flow Unit Quantity
Date
2002-01-31 FINLAND KEROSENE TOTEXPSB KBD 3.8129
2002-01-31 TURKEY KEROSENE TOTEXPSB KBD 0.2542
2002-01-31 AUSTRALI KEROSENE TOTEXPSB KBD 12.2787
2002-01-31 CANADA KEROSENE TOTEXPSB KBD 5.1161
2002-01-31 UK KEROSENE TOTEXPSB KBD 12.2013
Run Code Online (Sandbox Code Playgroud)
当我使用 df.pivot 时,我收到以下错误“ReshapeError:索引包含重复条目,无法重塑”这是真的,因为我正在查看每个国家/地区同时报告的日期。我想要的是拆开“国家/地区列”,以便每个月只显示一个日期。
像这样 Date 的 DataFrame 标头仍然是索引:
Date FINLAND TURKEY AUSTRALI CANADA Flow Unit
2002-01-31 3.8129 0.2542 12.2787 5.1161 TOTEXPSB KBD
Run Code Online (Sandbox Code Playgroud)
我已经在这方面工作了一段时间,但我一无所获,因此任何方向或见解都会很棒。
另外,请注意,您只能看到 DataFrame 的头部,因此多年的数据采用这种格式。
谢谢,
道格拉斯