将列追加到包含另一行重复计数的数据框

时间:2018-07-19 21:27:33

标签: python python-3.x pandas

使用3.x的Python的新手

我有一个很大的CSV,其中包含客户名称和地址的列表。 [名称,城市,州]

我要创建第4列,该列是对处于当前客户状态的客户总数的计数。

例如:

Joe, Dallas, TX
Steve, Austin, TX
Alex, Denver, CO

将成为:

Joe, Dallas, TX, 2 
Steve, Austin, TX, 2
Alex, Denver, CO, 1

我能够读取文件,然后使用groupby创建一个包含第4列值的系列,但是我不知道如何采用该系列并将其与我的百万行匹配实际文件。

import pandas as pd
mydata=pd.read_csv(r'C:\Users\customerlist.csv', index_col=False)
mydata=mydata.drop_duplicates(subset='name', keep='first')
mydata['state']=mydata['state'].str.strip()
stateinstalls=(mydata.groupby(mydata.state, as_index=False).size())

stateinstalls给了我一个系列[2,1],但是我失去了相应的状态([TX,CO])。它必须是一个元组,以便我可以返回并遍历电子表格的所有行,然后说:

if mydata['state'].isin(stateinstalls(0))
mydata[row]=stateinstalls(1)

我感到很失落。我知道必须要有一种简单得多的方法。就像在数组中一样(如countif类型的函数)。

非常感谢任何指针。

0 个答案:

没有答案