gpt4 book ai didi

python - python中唯一的二进制字符串

转载 作者:太空宇宙 更新时间:2023-11-03 10:56:00 25 4
gpt4 key购买 nike

我有一个类似于下表的 xlsx 文件:

name                 place               link 
terry mike 12<longbeach> http://www.google.com/xyz
jessica mike 12<longbeach> http://www.google.com/abc
amanda albert 189<washington> http://www.amazone.com/cali
terry mike 189<longbeach> http://www.google.com/nnn

我在 python 中使用 Pandas 作为数据框导入,并且能够使用以下方法计算每一列的唯一字符串:

len(df.Name.unique())

所以对于名字我得到了 3 这是正确的:terry mike,jessica mike,amanda albert

问题如何使用 pandas dataframe 将这 3 个 cloumns 转换为二进制唯一字符串,以便 Name 列输出如下所示:

Name    place   link
001 001 001
010 001 010
011 010 011
001 011 100

这样每个单元格都是唯一的,我通过 len(df.Name.unique()) 知道每一列有多少个不同的字符串,在这种情况下,将其命名为 3 用于放置它的 3 并且链接是 4

有没有一种简单的方法可以用 pandas 做到这一点

谢谢。

最佳答案

如果你真的不关心'Terry mike'是否得到'001',你可以使用category数据类型:

df.apply(lambda x: x.astype('category').cat.codes)

name place link
0 2 0 3
1 1 0 1
2 0 2 0
3 2 1 2

如果你想要 3 位二进制:

df.apply(lambda x: x.astype('category').cat.codes).applymap('{0:03b}'.format)

name place link
0 010 000 011
1 001 000 001
2 000 010 000
3 010 001 010

关于python - python中唯一的二进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com