pandas:在容器中绘制平均值格式化所需帮助

2024-06-01 01:51:39 发布

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

我正在做一些太阳系动力学模拟,并一直以这个项目为借口教自己一些Python/熊猫。得到的数据集有1000多条记录,其中包括每个相关天体的轨道倾角、偏心率等。在

我试图用熊猫来研究结果数据中约1000个物体(“测试粒子”)的平均轨道倾角,作为半长轴的函数。在

到目前为止,我一直在做的是:

1)将数据读入数据帧

df = pd.read_csv('final.csv')

2)将数据限制在半长轴值的范围内(粒子在模拟过程中“分散”,但我想限制我的分析

^{pr2}$

3)绘制给定数量料仓的倾斜平均值

cf.groupby(pd.cut(cf.a, 80))['inc'].mean().plot()

这样可以创建一个可接受的绘图,但在格式上有几个问题:除非它完全最大化以填充我的屏幕,否则沿着x轴的数字会挤压在一起并重叠。它们也不完全是我想要看到的:它们显示了垃圾箱的最大值和最小值,我更喜欢5秒或类似的直线滴答声。在

pandas output from above command

我尝试过将值(x=None, xticks=None)传入上面字符串的plot()部分,但这对结果图没有任何影响。我这样做是否可以控制绘图/输出?在

谢谢

G


Tags: csv数据项目none绘图plot粒子动力学
1条回答
网友
1楼 · 发布于 2024-06-01 01:51:39

当我想做这样的事情时,我直接进入matplotlib。 我将用这个示例数据展示一个小示例:

df = pd.DataFrame([[1, 2], [2, 7], [3, 6], [4,7], [5,3]], columns=['A', 'B'])

我不是用pd.cut切割它,而是用np.linspace进行切割。 所以

^{pr2}$

现在,我要在箱子中间画

plot_centers = (bins [:-1] + bins [1:])/2
plot_values = group.B.mean()

和阴谋

plt.plot(plot_centers, plot_values)

你应该小心处理丢失的数据。在这种情况下,您可以使用fillna(0),使所有的{}0。在

plot_values = group.B.mean().fillna(0)

相关问题 更多 >