使用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类型的函数)。
非常感谢任何指针。