开发者社区> 问答> 正文

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

我试图找出数据中前几个月的值之间的差异。数据可以在这里看到。我正在使用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

展开
收起
一码平川MACHEL 2019-02-28 14:12:42 2298 0
1 条回答
写回答
取消 提交回答
  • 你应该看看diff()

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

    2019-07-17 23:29:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载