开发者社区> 问答> 正文

不能让Pandas差异功能在Python中运行

python小能手 2019-02-28 14:12:42 416

我试图找出数据中前几个月的值之间的差异。数据可以在这里看到。我正在使用Spyder。我正在使用的代码如下:

import pandas as pd

#Ask User to input location of import file

print('Input file location')
filename = input()

#Importing csv file to importdata_df datafram
data = pd.read_csv(filename)

#melt data

melt = data.melt(id_vars='HS Code', var_name='Month', value_name='Imports')

melt = melt.sort_values(['Month', 'HS Code'])

#Add variables for last month imports and last month difference
melt2 = melt.copy()
melt2['Last_Month_Imports'] = melt2.groupby(['HS Code'])['Imports'].shift()
melt2['Last_Month_Diff'] = melt2.groupby(['HS Code'])['Last_Month_Imports'].diff()
melt2 = melt2.dropna()
print(melt2.head())
但是,当我运行此代码时,我收到以下错误:

line 34, in

melt2['Last_Month_Diff'] = melt2.groupby(['HS Code'])['Last_Month_Imports'].diff()

File "C:Anaconda3libsite-packagespandascoregroupbygroupby.py", line 622, in wrapper

raise ValueError

ValueError

分享到
取消 提交回答
全部回答(1)
  • python小能手
    2019-07-17 23:29:44

    你应该看看diff()

    df [columm] .dif()将为您提供与列列中上一行的区别

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题