我正在尝试基于表中的商人ID添加10行。这是原始表格-
id email trend_type
1 abc@xyz.com
2 cdsm@kcmd.com
这就是我要创建的-
id email trend_type
1 abc@xyz.com Bill
1 abc@xyz.com Visits
1 abc@xyz.com Avg. Visits
1 abc@xyz.com abc
1 abc@xyz.com mcd
1 abc@xyz.com mckfd
1 abc@xyz.com mfd
1 abc@xyz.com aps
1 abc@xyz.com mvmv
1 abc@xyz.com dep
2 cdsm@kcmd.com Bill
2 cdsm@kcmd.com Visits
. ..... ...
. ..... ...
我想将10种不同的趋势类型添加到一个ID和电子邮件组合中。我已经创建了所有趋势类型的数组,并且尝试使用嵌套的for循环,但是没有成功。真的可以使用一些帮助。
答案 0 :(得分:2)
使用Index.repeat
和DataFrame.assign
:
npm install --global windows-build-tool
答案 1 :(得分:1)
将product
与DataFrame.join
结合使用:
from itertools import product
#add all types
types = ['Bill','Visits','Avg. Visits']
s = pd.DataFrame(list(product(df.index, types))).set_index(0)[1].rename('trend_type')
df = df.join(s).reset_index(drop=True)
print (df)
id email trend_type
0 1 abc@xyz.com Bill
1 1 abc@xyz.com Visits
2 1 abc@xyz.com Avg. Visits
3 2 cdsm@kcmd.com Bill
4 2 cdsm@kcmd.com Visits
5 2 cdsm@kcmd.com Avg. Visits
答案 2 :(得分:1)
也许您可以使用这种东西:
d = {'email':'blabla.bloblo@blublu.com',
'trend_type':['bill','visits','abc', 'mcd', 'etc']}
data = pd.DataFrame(d)
您只需在词典中添加更多条目并更新趋势列表=)
我希望它将对您有帮助!