对于每行重复,请使用:df = pd.DataFrame(data = {'Name':['Tom', 'Jerry', 'Jack', 'Terry'],

'OtherName':['Tom', 'John', 'Bob','Steve'],

'Age':[20, 21, 19, 18]})

print (df)

Name OtherName Age

0 Tom Tom 20

1 Jerry John 21

2 Jack Bob 19

3 Terry Steve 18

import inflect

p = inflect.engine()

#map by function for dynamic counter

f = lambda i: p.number_to_words(p.ordinal(i))

#columns filled by names

cols = ['Name','OtherName']

#reshaped to MultiIndex Series

s = df[cols].stack()

#counter per groups

count = s.groupby([s.index.get_level_values(0),s]).cumcount().add(1)

#mask for filter duplicates

mask = s.reset_index().duplicated(['level_0',0], keep=False).values

#filter only duplicates and map, reshape back and add to original data

df[cols] = count[mask].map(f).unstack().add(df[cols], fill_value='')

print (df)

Name OtherName Age

0 firstTom secondTom 20

1 Jerry John 21

2 Jack Bob 19

3 Terry Steve 18data = {'Name':['Tom', 'Tom', 'Jack', 'Terry'], 'Age':[20, 21, 19, 18]}

df = pd.DataFrame(data)

nth = {

0:"First",

1:"Second",

2:"Third",

3:"Fourth"

}

mask = df.Name.duplicated(keep=False)

df.loc[mask, 'Name'] = df[mask].groupby('Name').cumcount().map(nth) + df.loc[mask, 'Name']

print (df)

Name Age

0 FirstTom 20

1 SecondTom 21

2 Jack 19

3 Terry 18

动态字典应类似于:import inflect

p = inflect.engine()

mask = df.Name.duplicated(keep=False)

f = lambda i: p.number_to_words(p.ordinal(i))

df.loc[mask, 'Name'] = df[mask].groupby('Name').cumcount().add(1).map(f) + df.loc[mask, 'Name']

print (df)

Name Age

0 firstTom 20

1 secondTom 21

2 Jack 19

3 Terry 18

python 替换重复字符_python - 在Pandas中,如何将重复值替换为多个唯一字符串?_pandas_酷徒编程知识库...相关推荐

  1. python 判断时间是否大于6点_python - 在dataframe中,如何检查时间增量是否大于一分钟?_pandas_酷徒编程知识库...

    我试图在dataframe中比较不同的时间戳,并在时间差异大于一分钟时打印输出,这是我试图运行的代码:for e in TestDF['date']: delta = TestDF.date.iloc ...

  2. python能查询MySQL视图_python - 在使用Django的视图中,如何从mysql检索数据,并显示它_python_酷徒编程知识库...

    这是模型:from django.db import models # Create your models here. class Contact(models.Model): name = mod ...

  3. python 中定义的函数 如何在main中调用_在python中,在定义类时自动运行函数的方法?_class_酷徒编程知识库...

    类定义时初始化类属性,不需要函数.import numpy as np class Foo: bar = np.range(100) def __init__(self): # etc. 如果要在导入 ...

  4. pandas写入excel指定行_如何使用 Pandas 从excel文件读取特定行_pandas_酷徒编程知识库...

    我有一个excel文件,需要从某个工作表的行中提取某些数据.import pandas as pd xl_file = pd.ExcelFile((xlfilePath) dfs = {sheet_n ...

  5. python执行shell命令查看输出_python 运行 shell 命令并捕获输出_python_酷徒编程知识库...

    这个问题的答案取决于你使用的python 版本. 最简单的方法是使用 subprocess.check_output 函数:>>> subprocess.check_output([ ...

  6. python中如何输入矩阵_python - 如何向矩阵中添加向量_numpy_酷徒编程知识库

    首先,我们可以初始化一个用零填充所需形状的矩阵,然后将a复制到前13行.在任何情况下,我们都必须形成一个新的矩阵,因为我们无法摆弄现有的矩阵/向量,因为我们需要为额外的空行分配更多的内存. 你可以在下 ...

  7. python中int对象不可迭代_python - 情感分析接收错误:'int'对象不可迭代_python-3.x_酷徒编程知识库...

    我在csv文件上运行情感分析,并且收到这个错误消息, 这是我的代码:def sentimentAFINN(text): words = pattern_split.split(text.lower() ...

  8. python矩阵运算库效率_python - 布尔矩阵运算的最快方法_performance_酷徒编程知识库...

    只需在compute中进行一些小的更改:def compute(m, n): m = np.asarray(m) n = np.asarray(n) # Apply mask N in advance ...

  9. python输入函数后无法运行_python - 如何在函数运行期间忽略所有用户输入?_python_酷徒编程知识库...

    我有一个python模块,它使用pynput监听按键,但是一旦按下它,它就会在一个文本程序中键入一个字符串. 我需要一种方法来禁用键盘,直到pyautogui输完字符串. from pynput.ke ...

最新文章

  1. 2022-2028年中国干电池制造行业产销需求与投资预测分析报告
  2. 谈谈@@IDENTITY 和 SCOPE_IDENTITY()的区别
  3. class function,delphi静态函数的对象基址分析static
  4. RocketMQ源码:NameSrv启动全过程详解
  5. [原]动态打jar包程序,可用于手机图片音乐游戏的动态打包
  6. 前端学习(1080):构造函数和原型
  7. opencv3.2+opencv_contrib+cmake
  8. vuecli+axios的post请求传递参数异常
  9. 使用annotation配置hibernate(1)
  10. 全站HTTPS来了!有何优势、与HTTP有何不同
  11. linux下运行jar
  12. Sonic一站式开源分布式集群云真机测试平台阶段性使用总结
  13. linux彻底清除历史记录
  14. 工信部颁发“免死金牌” 抢票软件继续存活
  15. L1-044 稳赢 (15 分)(JAVA)
  16. 乐动手环app下载安装_乐动健康下载app_新版本手机乐动健康手环软件下载安装 安卓版 V2.08 - 罐头安卓网...
  17. 树的四种遍历 先序 中序 后序 层次
  18. TypeScript 学习笔记(一)—— 参考哔哩哔哩整理的笔记
  19. Vector为什么是线程安全的呢?Vector为什么是线程不安全的呢?
  20. 基于java的药店管理系统的设计与实现

热门文章

  1. Kermit,Xmodem,1K-Xmodem,Ymodem,Zmodem传输协议小结
  2. 9.9的阿里巴巴编码规范考试竟如此简单?搜集试题分享!让我们一起守护开发规范!
  3. 沈阳市委书记邀请深兰科技赴沈建厂,助力东北振兴
  4. day 9/16 css三大特性和盒子模型
  5. 关于hive当中的double的数据类型
  6. 修改Android10系统源码关闭selinux
  7. 网站被恶意攻击了改怎么办?如何进行防护呢
  8. 本人的Linux系统学习
  9. 大自然是最广阔的“感统训练室”,端午节带上孩子“趣”玩吧!
  10. 你可能不知道微软悄悄关闭Win10分页显示程序的Sets功能