目前,在对数据帧进行分组时,我在设置列表和筛选的组合时遇到了问题。你知道吗
假设我们有一个如下形式的数据帧:
A B C
0 x2 a32cd 1
1 x1 a11aa 0
2 x1 NaN 1
3 x1 d75dd 0
4 x1 a11aa 1
5 x2 a32cd 1
6 x2 w22xz 0
...
我要找的是对A
(字符串)列进行分组,然后列出B
(字符串)的非重复,非空值,然后我可以退出C
(整数)列表。我要找的最后一种形式是:
A B
0 x1 [a11aa, d75dd, ...]
1 x2 [a32cd, w22xz, ...]
我想用以下形式来建立它:
df_x.groupby('A')['B'].apply(list)
然后对它施加一些条件,但我似乎找不到它。我应该为它设置一个函数吗?我来自一个基于MATLAB的背景,所以我倾向于一行一行地遍历整个数据帧。但有人告诉我,一旦你考虑在熊猫身上做这件事,可能有更聪明的方法。你知道吗
也许您不想
dropna
在最前面(丢失其他列的信息,例如C
)。你知道吗因此,您可以
groupby
和agg
仅使用B
的逻辑相关问题 更多 >
编程相关推荐