Python 3.x 从列表和唯一行中拆分熊猫
总之,我有一个python列表,它的数据如下Python 3.x 从列表和唯一行中拆分熊猫,python-3.x,pandas,Python 3.x,Pandas,总之,我有一个python列表,它的数据如下 a_list = [['W1', 'W0'], ['W1', 'W2'], ['W3', 'W1'], ['W4', 'W6'], ['W5', 'W10'], ['W6', 'W7'], ['W6', 'W7'],['W6','W7'],['W6','W7']] 我想把它转换成熊猫数据帧,我使用了下面的代码 import pandas as pd df = pd.DataFrame(data = a_list) print(df)
a_list = [['W1', 'W0'], ['W1', 'W2'], ['W3', 'W1'], ['W4', 'W6'], ['W5', 'W10'], ['W6', 'W7'], ['W6', 'W7'],['W6','W7'],['W6','W7']]
我想把它转换成熊猫数据帧,我使用了下面的代码
import pandas as pd
df = pd.DataFrame(data = a_list)
print(df)
这是我看到的输出
0 1
0 W1 W0
1 W1 W2
2 W3 W1
3 W4 W6
4 W5 W10
5 W6 W7
6 W6 W7
7 W6 W7
8 W6 W7
但我希望我的输出是一样的
0
0 W1,W0
1 W1,W2
2 W3,W1
3 W4,W6
4 W5,W10
5 W6,W7
6 W6,W7
7 W6,W7
8 W6,W7
另外,我还希望通过在侧面设置一个计数器来消除重复项,如第6行
0 count
0 W1,W0 1
1 W1,W2 1
2 W3,W1 1
3 W4,W6 1
4 W5,W10 1
5 W6,W7 4
使用:
您可以按列新建:
df['new'] = (df[0] + ',' + df[1])
df['counter'] = df.groupby('new').cumcount() + 1
print (df)
0 1 new counter
0 W1 W0 W1,W0 1
1 W1 W2 W1,W2 1
2 W3 W1 W3,W1 1
3 W4 W6 W4,W6 1
4 W5 W10 W5,W10 1
5 W6 W7 W6,W7 1
6 W6 W7 W6,W7 2
与聚合一起使用:
谢谢你的帮助。你知道我怎么能有柜台吗?例如,第5行应该有一个2的计数器,而所有其他行应该有一个1的计数器。你认为第6行6
?我的意思是5 w6,w7 2可以有任意数量的重复项,对于唯一项,我会看到1,对于重复项,我需要看到2或更多。我试图使用计数器,但它不是dataframeYes,当然。请稍等。
df['new'] = (df[0] + ',' + df[1])
df['counter'] = df.groupby('new').cumcount() + 1
print (df)
0 1 new counter
0 W1 W0 W1,W0 1
1 W1 W2 W1,W2 1
2 W3 W1 W3,W1 1
3 W4 W6 W4,W6 1
4 W5 W10 W5,W10 1
5 W6 W7 W6,W7 1
6 W6 W7 W6,W7 2
print (df.groupby((df[0] + ',' + df[1])).size().reset_index(name='count'))
index count
0 W1,W0 1
1 W1,W2 1
2 W3,W1 1
3 W4,W6 1
4 W5,W10 1
5 W6,W7 4