我有一个具有以下结构的csv文件:
Name Shares Platform
John 100 Facebook
David 200 Facebook
Allen 300 Twitter
Maria 10 Instagram
我想创建一个新文件,其中将基于共享数为每个名称和平台提供行数。 例如,对于John,我将有100行,其中包括John和Facebook。
如何使用Python做到这一点?
答案 0 :(得分:2)
我相信您需要按列Shares
的值重复行:
df = pd.read_csv(file)
df = df.loc[df.index.repeat(df['Shares']), ['Name','Platform']].reset_index(drop=True)
print (df)
Name Platform
0 John Facebook
1 John Facebook
2 John Facebook
3 John Facebook
4 John Facebook
.. ... ...
605 Maria Instagram
606 Maria Instagram
607 Maria Instagram
608 Maria Instagram
609 Maria Instagram
[610 rows x 2 columns]
df.to_csv(file1, index=False)