Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 熊猫属性错误:';数据帧';对象没有属性';dt';使用“在groupby上应用”时_Python 3.x_Pandas_Dataframe_Pandas Groupby - Fatal编程技术网

Python 3.x 熊猫属性错误:';数据帧';对象没有属性';dt';使用“在groupby上应用”时

Python 3.x 熊猫属性错误:';数据帧';对象没有属性';dt';使用“在groupby上应用”时,python-3.x,pandas,dataframe,pandas-groupby,Python 3.x,Pandas,Dataframe,Pandas Groupby,我有以下df code date1 date2 2000 2018-03-21 2018-04-04 2000 2018-03-22 2018-04-05 2000 2018-03-23 2018-04-06 当我试着 df_code_grp_by = df.groupby(['code']) df_code_grp_by.apply(lambda x: x.date2 - x.date1).dt.days.sum(level=0).rese

我有以下
df

code    date1        date2
2000    2018-03-21   2018-04-04
2000    2018-03-22   2018-04-05
2000    2018-03-23   2018-04-06
当我试着

df_code_grp_by = df.groupby(['code'])

df_code_grp_by.apply(lambda x: x.date2 - x.date1).dt.days.sum(level=0).reset_index(name='date_diff_sum')
我得到

AttributeError: 'DataFrame' object has no attribute 'dt'

date1
date2
都是
dtype(更好的方法是通过
code
列创建索引,然后减去
系列

df = df.set_index('code')
df = (df.date2 - df.date1).dt.days.sum(level=0).reset_index(name='date_diff_sum')
print (df)
   code  date_diff_sum
0  2000             42
代码问题是
apply
返回行(可能是错误):

可能的解决方案是使用
np.sum

df = (df_code_grp_by.apply(lambda x: np.sum(x.date2 - x.date1))
                    .dt.days
                    .reset_index(name='date_diff_sum'))
print (df)
   code  date_diff_sum
0  2000             42

谢谢你的回复,你能告诉我我的手机出了什么问题吗code@daiyue-调查。
df = (df_code_grp_by.apply(lambda x: np.sum(x.date2 - x.date1))
                    .dt.days
                    .reset_index(name='date_diff_sum'))
print (df)
   code  date_diff_sum
0  2000             42