我有一个如下所示的 Dataframe :
import pandas as pd
df = pd.DataFrame({'val':['a', 'a', 'b', 'a', 'c'], 'g_1':[0, 0, 1,0,2], 'g_2':[0, 0, 0,0,1]})
现在,为了获得列val
的所有唯一值,我做了如下操作:
print(df['g_1'].groupby(df['val']).unique().apply(pd.Series))
0
val
a 0
b 1
c 2
然而,我想添加列g_2
以及,但似乎我得到这个错误:
print(df[['g_1', 'g_2']].groupby(df['val']).unique().apply(pd.Series))
我期待得到这样的东西:
g_1 g_2
val
a 0 0
b 1 0
c 2 1
3条答案
按热度按时间jaxagkaj1#
只需使用
df.duplicated()
提取非重复项。nhn9ugyo2#
使用
np.unique
作为groupby
的agg
函数:shstlldc3#