Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 从列表和唯一行中拆分熊猫_Python 3.x_Pandas - Fatal编程技术网

Python 3.x 从列表和唯一行中拆分熊猫

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)

总之,我有一个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)
这是我看到的输出

    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