lol*_*tes 2 python counter data-analysis dataframe pandas
我在Python pandas中有以下示例数据框:
+---+------+------+------+
| | col1 | col2 | col3 |
+---+------+------+------+
| 0 | a | d | b |
+---+------+------+------+
| 1 | a | c | b |
+---+------+------+------+
| 2 | c | b | c |
+---+------+------+------+
| 3 | b | b | c |
+---+------+------+------+
| 4 | a | a | d |
+---+------+------+------+
Run Code Online (Sandbox Code Playgroud)
我想对第1-3列中的所有"a","b","c"和"d"值进行计数,以便最终得到如下数据框:
+---+--------+-------+
| | letter | count |
+---+--------+-------+
| 0 | a | 4 |
+---+--------+-------+
| 1 | b | 5 |
+---+--------+-------+
| 2 | c | 4 |
+---+--------+-------+
| 3 | d | 2 |
+---+--------+-------+
Run Code Online (Sandbox Code Playgroud)
我可以做到这一点的一种方法是将列堆叠在一起,然后进行分组计数,但我觉得必须有更好的方法.有人可以帮我弄这个吗?
您可以stack()将数据帧放入行中,然后执行以下操作value_counts:
df.stack().value_counts()
b 5
c 4
a 4
d 2
dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |