Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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 将数据帧减少为唯一值和计数_Python_Pandas - Fatal编程技术网

Python 将数据帧减少为唯一值和计数

Python 将数据帧减少为唯一值和计数,python,pandas,Python,Pandas,我需要帮助减少此数据帧: 2-gram 3-gram 4-gram 5-gram 0 FF FF- FF-F FF-FF 1 -F FFF FFF- FF-FF 2 FF F-F FFF- F-FF+ 3 F- FF- FF+- --FF+ 4 FF FF+ -FF+ --FF+ 5 F- --F --FF --FF+ 6 FF

我需要帮助减少此数据帧:

    2-gram 3-gram 4-gram 5-gram
0       FF    FF-   FF-F  FF-FF
1       -F    FFF   FFF-  FF-FF
2       FF    F-F   FFF-  F-FF+
3       F-    FF-   FF+-  --FF+
4       FF    FF+   -FF+  --FF+
5       F-    --F   --FF  --FF+
6       FF    F+-   +--F  --FF+
7       +-    -FF   F+--  -F-FF
8       -F    +--   FF+-  FF-FF
9       F+    FF+   F-FF  F-FF+
10      --    --F   FF-F  --FF+
11      FF    F+-   FF-F  -F-FF
12      +-    F-F   F+--  F-FF+
13      -F    FFF   FF+-  --FF+
14      F+    -FF   F-FF  --FF+
15      --    F-F   F-FF  --FF+
16      FF    F+-   +--F  --FF+
17      +-    -FF   F+--  -F-FF
18      F-    +-F   FF+-  F-FF+
19      FF    -FF   -FF+  -F-FF
20      FF    F-F   --FF  F-FF+
21      -F    F+-   +-F-  -F-FF
22      FF    -FF   FFF-  F-FF+
23      -F    +--   FF+-  --FF+
24      F+    FF+   F-FF  -F-FF
25      --    --F   F-FF  F-FF+
26      FF    F+-   +-F-  -F-FF
27      +-    -FF   FFF-  FF-FF
28      F-    +-F   FF+-  FF-FF
29      FF    -FF   -FF+  F-FF+
..     ...    ...    ...    ...
221     -F   None   None   None
222     FF   None   None   None
223     -F   None   None   None
224     F+   None   None   None
225     -F   None   None   None
226     -F   None   None   None
227     FF   None   None   None
228     -F   None   None   None
229     F+   None   None   None
230     -F   None   None   None
231     -F   None   None   None
232     FF   None   None   None
233     -F   None   None   None
234     F+   None   None   None
235     --   None   None   None
236     FF   None   None   None
237     +-   None   None   None
238     F-   None   None   None
239     FF   None   None   None
240     F-   None   None   None
241     FF   None   None   None
242     +-   None   None   None
243     -F   None   None   None
244     F+   None   None   None
245     --   None   None   None
246     FF   None   None   None
247     +-   None   None   None
248     F-   None   None   None
249     FF   None   None   None
250      F   None   None   None
对于每个单独的唯一值以及每个列中这些唯一值的计数,如下所示:

    2-gram  3-gram  4-gram      5-gram  
0   FF  11  FF- 2   FF-F    3   FF-FF   5
1   -F  5   FFF 2   FFF-    4   F-FF+   8
2   F-  4   F-F 4   FF+-    6   --FF+   10
3   +-  4   FF+ 3   -FF+    3   -F-FF   7
4   F+  3   --F 3   --FF    2       
5   --  3   F+- 5   +--F    2       
6           -FF 7   F+--    3       
7           +-- 2   F-FF    5       
8           +-F 2   +-F-    2       
数据帧由一个由“F”、““-”和“+”字符组成的长字符串组成,这些字符被分成2、3、4和5组

我相信我需要使用这个函数,但我不知道如何合并值计数

谢谢

使用:

在每列上使用一个,并连接结果列表:

l = [pd.value_counts(df[i]).reset_index().astype(str).apply(' '.join, 1) for i in df]
out = pd.concat(l, 1).fillna('')
out.columns = df.columns

  2-gram 3-gram  4-gram    5-gram
0  FF 11  -FF 7  FF+- 6  --FF+ 10
1   -F 5  F+- 5  F-FF 5   F-FF+ 8
2   +- 4  F-F 4  FFF- 4   -F-FF 7
3   F- 4  FF+ 3  FF-F 3   FF-FF 5
4   F+ 3  --F 3  -FF+ 3          
5   -- 3  FFF 2  F+-- 3          
6         +-- 2  --FF 2          
7         +-F 2  +-F- 2          
8         FF- 2  +--F 2          

您需要两个单独的列还是每个gram列只需要一个?每个gram列需要一个fine@jezrael我给了亚图答案,他比你更需要xp;)哈哈,不是我需要它,扎克朱伯特,但耶@jezrael有很多:)真的。也许我应该给自己:D
l = [pd.value_counts(df[i]).reset_index().astype(str).apply(' '.join, 1) for i in df]
out = pd.concat(l, 1).fillna('')
out.columns = df.columns

  2-gram 3-gram  4-gram    5-gram
0  FF 11  -FF 7  FF+- 6  --FF+ 10
1   -F 5  F+- 5  F-FF 5   F-FF+ 8
2   +- 4  F-F 4  FFF- 4   -F-FF 7
3   F- 4  FF+ 3  FF-F 3   FF-FF 5
4   F+ 3  --F 3  -FF+ 3          
5   -- 3  FFF 2  F+-- 3          
6         +-- 2  --FF 2          
7         +-F 2  +-F- 2          
8         FF- 2  +--F 2