我有以下数据:
| | 姓名|年龄|国家|职业|爱好|
| - ------|- ------|- ------|- ------|- ------|- ------|
| 无|A类|二十三|数据元素|职务持有人|钓鱼|
| 1个|A类|二十三|数据元素|职务持有人|园艺|
| 第二章|A类|二十三|数据元素|职务持有人|钓鱼|
| 三个|A类|二十三|数据元素|职务持有人|阅读|
| 四个|乙|十五|软件|职务持有人|钓鱼|
| 五个|乙|十五|软件|职务持有人|演奏|
| 六个|C级|二十三|设计和开发部|职务持有人|编码|
| 七|乙|二十三|AA|职务持有人|钓鱼|
| 八个|D级|三十四|生长激素|职务持有人|钓鱼|
| 九|D级|三十三|传输速率|其他|钓鱼|
当"名称"列中存在重复项时,我希望对它们进行比较,并了解其唯一性的原因。我希望添加一个新列,该列应包含负责此唯一性的列标题名称。如果一次找到一行,则在原因列中填写"唯一"。
输出应如下所示:
| | 姓名|年龄|国家|职业|爱好|原因|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 无|A类|二十三|数据元素|职务持有人|钓鱼|职业,爱好|
| 1个|A类|二十三|数据元素|职务持有人|园艺|职业,爱好|
| 第二章|A类|二十三|数据元素|学生|钓鱼|职业,爱好|
| 三个|A类|二十三|数据元素|职务持有人|阅读|职业,爱好|
| 四个|乙|十五|软件|职务持有人|钓鱼|爱好|
| 五个|乙|十五|软件|职务持有人|演奏|爱好|
| 六个|C级|二十三|设计和开发部|职务持有人|编码|独特|
| 七|乙|二十三|AA|职务持有人|钓鱼|年龄,国家|
| 八个|D级|三十四|生长激素|职务持有人|钓鱼|年龄、国家、职业|
| 九|D级|三十三|传输速率|其他|钓鱼|年龄、职业、职业|
我试着这样说:
- 一月一日 *
但是它没有给出输出应该看起来的样子。我是Python新手,任何帮助都将不胜感激!
1条答案
按热度按时间pcrecxhr1#
您可以标识非唯一原因,然后合并为字符串。
有多种方法可以做到这一点。
使用
groupby.nunique
和点积:对于
groupby.nunique
和melt
:使用
groupby.apply
时:输出: