Python 熊猫:对数据帧单元格中的唯一值求和
我有以下简略的数据帧:Python 熊猫:对数据帧单元格中的唯一值求和,python,pandas,Python,Pandas,我有以下简略的数据帧: url='https://raw.githubusercontent.com/108michael/ms_thesis/master/mpl.Bspons.merge.2' df=df.reset_index() df.head() df['billsum'] = df.groupby(['date', 'catcode','disposition', 'id.fec']).bills.transform('sum') catcode date
url='https://raw.githubusercontent.com/108michael/ms_thesis/master/mpl.Bspons.merge.2'
df=df.reset_index()
df.head()
df['billsum'] = df.groupby(['date', 'catcode','disposition', 'id.fec']).bills.transform('sum')
catcode date bills id.fec disposition billsum
0 B1000 2013 hr2575-113 H0IN09070 support hr2575-113
1 B2000 2013 hr2575-113 H0IN09070 support hr2575-113
2 B3000 2013 hr2575-113 H0IN09070 support hr2575-113hr2575-113
3 B6000 2013 hr2575-113 H0IN09070 support hr2575-113hr2575-113hr2575-113hr2575-113hr2575...
4 B2000 2007 s1782-110 S8WI00026 oppose s1782-110
问题是我只想对列billsum
求和,而不是输出所有账单。当我尝试使用
df['billsum'] = df.groupby(['date', 'catcode','disposition', 'id.fec']).bills.transform('size')
我得到以下信息
catcode date bills id.fec disposition billsum
0 B1000 2013 hr2575-113 H0IN09070 support 1
1 B2000 2013 hr2575-113 H0IN09070 support 1
2 B3000 2013 hr2575-113 H0IN09070 support 2
3 B6000 2013 hr2575-113 H0IN09070 support 5
4 B2000 2007 s1782-110 S8WI00026 oppose 1
df.to_csv('mpl.billsum', index_col=0)
但我需要的是唯一值的总和。在我上面的简短df中,没有唯一的值,但在更大的数据库中有唯一的值。有人对此有想法吗?在这种情况下,您的预期输出是什么?@MichaelPerdue,输出没有意义,因为所有输出都更新为1。如果是这种情况,请使用df['billcount']=1。我将更新我的问题以提供更多细节。请稍等。你是在问
df.groupby('catcode')['billsum'].nunique()
还是df.groupby('catcode')['billsum'].transform('nunique')
?你能把问题的标题描述得更清楚一点吗?(即,在标题中包含关键字“熊猫”和“数据帧”)。从标题和问题来看,不清楚什么类型的对象df
。在这种情况下,您的预期输出是什么?@MichaelPerdue,输出没有意义,因为所有对象都更新为1。如果是这种情况,请使用df['billcount']=1。我将更新我的问题以提供更多细节。请稍等。你是在问df.groupby('catcode')['billsum'].nunique()
还是df.groupby('catcode')['billsum'].transform('nunique')
?你能把问题的标题描述得更清楚一点吗?(即,在标题中包含关键字“熊猫”和“数据帧”)。从标题和问题来看,不清楚什么是对象df
。