我怎样才能在熊猫中解决这个问题?

我每天都有数据流入一个 csv 文件,该文件显示没有。正在制造的件数。我想清楚地显示每天生产的件数增加百分比

我已经尝试过transpose()unstack()但一直无法解决这个问题。

下面是数据的样子:

http://img4.mukewang.com/61812ea500016e0f03480381.jpg

我想清楚地显示每天生产的件数增加百分比。输出应该是这样的:

http://img4.mukewang.com/61812ead00018f9305030187.jpg

我应该如何完成这项工作?


慕雪6442864
浏览 263回答 3
3回答

一只萌萌小番薯

你需要s.pct_change()和series.shift():df.insert(1,'Day2',df.Day.shift(-1))df['Percent_change']=(df.Peice_Produced.pct_change()*100).shift(-1).fillna(0).round(2)print(df)        Day     Day2  Peice_Produced  Percent_change0    1/1/17   1/2/17              10          -50.001    1/2/17   1/3/17               5          200.002    1/3/17   1/4/17              15          -60.003    1/4/17   1/5/17               6          250.004    1/5/17   1/6/17              21          -66.675    1/6/17   1/7/17               7          300.006    1/7/17   1/8/17              28          -71.437    1/8/17   1/9/17               8          350.008    1/9/17  1/10/17              36          -75.009   1/10/17  1/11/17               9          400.0010  1/11/17      NaN              45            0.00

慕桂英546537

我承认我不完全明白你的意图是什么。尽管如此,我可能有我理解的解决方案..使用diff()函数查找离散差异您的模拟 DataFarme:>>> df        Day  Peice_Produced0    1/1/17              101    1/2/17               52    1/3/17              153    1/4/17               64    1/5/17              215    1/6/17               76    1/7/17              287    1/8/17               88    1/9/17              369   1/10/17               910  1/11/17              45解决方案:一种解决方法..>>> df['Day_over_day%'] = df.Peice_Produced.diff(periods=1).fillna(0).astype(str) + '%'>>> df        Day  Peice_Produced Day_over_day%0    1/1/17              10          0.0%1    1/2/17               5         -5.0%2    1/3/17              15         10.0%3    1/4/17               6         -9.0%4    1/5/17              21         15.0%5    1/6/17               7        -14.0%6    1/7/17              28         21.0%7    1/8/17               8        -20.0%8    1/9/17              36         28.0%9   1/10/17               9        -27.0%10  1/11/17              45         36.0%

HUX布斯

您可以只添加一个计算列。我假设您将此数据存储在名为df. 你可以简单地做到这一点: df['change'] = (df['Pieces Produced'] / df['Pieces Produced'].shift(1))-1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python