Python Pandas-如果使用groupby函数汇总了两列中的数据,则将它们分开。

问题描述 投票:0回答:1
我有以下代码可以按预期生成四列

df['revenue'] = pd.to_numeric(df['revenue']) #not exactly sure what this does df['Date'] = pd.to_datetime(df['Date'], unit='s') df['Year'] = df['Date'].dt.year df['First Purchase Date'] = pd.to_datetime(df['First Purchase Date'], unit='s') df['number_existing_customers'] = df.groupby(df['Year'])[['Existing Customer']].sum() df['number_new_customers'] = df.groupby(df['Year'])[['New Customer']].sum() df['Rate'] = df['number_new_customers']/df['number_existing_customers'] Table = df.groupby(df['Year'])[['New Customer', 'Existing Customer', 'Rate', 'revenue']].sum() print(Table)

我希望能够将一列除以另一列(按现有的新客户划分,但是在创建新列时,我似乎得到零(请参见下面的输出)。

>>> print(Table) New Customer Existing Customer Rate revenue Year 2014 7.00 2.00 0.00 11,869.47 2015 1.00 3.00 0.00 9,853.93 2016 5.00 3.00 0.00 4,058.53 2017 9.00 3.00 0.00 8,056.37 2018 12.00 7.00 0.00 22,031.23 2019 16.00 10.00 0.00 97,142.42

我有以下代码,可以按预期生成四列df ['revenue'] = pd.to_numeric(df ['revenue'])#不确定要做什么df ['Date'] = pd.to_datetime( df ['Date'],unit ='s')...
python pandas group-by
1个回答
0
投票
您需要做的就是定义列,然后使用相应的运算符,在这种情况下为/
© www.soinside.com 2019 - 2024. All rights reserved.