ah2*_*ise 0 python numpy pandas
根据下面的代码,我希望“duplicate”列的第一个元素返回“True”,因为它存在于“df_set”中。这是针对更大的数据集,因此使用转换为集合......
我做错了什么导致“重复”的第一个元素返回“False”?
import numpy as np
import pandas as pd
data = [
['tom', 'juli'],
['nick', 'heather'],
['juli', 'john'],
['dustin', 'tracy']
]
columns = ['Name', 'Name2']
df = pd.DataFrame(data, columns = columns)
df_set = set(df['Name'])
df['duplicate'] = np.isin(df['Name2'], df_set, assume_unique=True)
print(df)
Run Code Online (Sandbox Code Playgroud)
输出:
Name Name2 duplicate
0 tom juli False
1 nick heather False
2 juli john False
3 dustin tracy False
Run Code Online (Sandbox Code Playgroud)
小智 5
numpy 似乎不喜欢集合,因此您应该将集合转换回列表:
df['duplicate'] = np.isin(df['Name2'], list(df_set), assume_unique=True)
Run Code Online (Sandbox Code Playgroud)
输出:
>>> df
Name Name2 duplicate
0 tom juli True
1 nick heather False
2 juli john False
3 dustin tracy False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
916 次 |
| 最近记录: |