是否有一种简单的方法可以在数据框中提取不同的值组合?我已经将pd.Series.unique()用于单列,但是多列呢?
示例数据:
df = pd.DataFrame(data=[[1, 'a'], [2, 'a'], [3, 'b'], [3, 'b'], [1, 'b'], [1, 'b']],
columns=['number', 'letter'])
Expected output:
(1, a)
(2, a)
(3, b)
(1, b)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要一个单独的具有不同值的元组的Series对象.
您可以压缩列并创建一组:
>>> set(zip(df.number, df.letter))
{(1, 'a'), (1, 'b'), (2, 'a'), (3, 'b')}
Run Code Online (Sandbox Code Playgroud)
IIUC,然后你可以设置索引到那些列,然后调用unique索引:
In [165]:
idx = df.set_index(['number','letter']).index
idx.unique()
Out[165]:
array([(1, 'a'), (2, 'a'), (3, 'b'), (1, 'b')], dtype=object)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |