python - 用相同的字符串和随机后缀替换字符串
问题描述
我有一个看起来像这样的数据框:
import pandas as pd
import random
d={'ID':["x1", "x2", "x1"],
'CUSIP':['a', 'b', "#NULL"],
'ISIN':["#NULL", "#NULL", 'I']}
df=pd.DataFrame(data=d)
df
我想用具有随机数后缀的后缀替换“#NULL”。类似于:“#NULL_xyz”,其中 _xyz 是每个“#NULL”的随机生成的数字
解决方案
你可以做:
df = df.applymap(lambda val: val + ("_" + str(random.randint(0, 1000)) if val == '#NULL' else ''))
并将范围替换为(0, 1000)
您想要的任何随机范围。
要使用以下数字,您可以使用生成器:
def myGen():
for i in range(-1, 1000):
yield(i)
df = df.applymap(lambda val: val + ("_" + str(next(a)) if val == '#NULL' else ''))
推荐阅读
- tensorflow - 在 Keras 中使用嵌入层和 LSTM 作为输入的 3 维数组
- xpath - Xpath 基于 span 类抓取 div 内容
- mysql-python - Python 没有与 SQL 连接
- list - SML:比较两个列表的每个元素而不存储状态信息?
- python - 虚奇函数的 Python 傅里叶逆变换
- redis - 如何获取redis中特定键的内存占用?
- java - Apache Flink 动态管道
- c# - 使用所需的列配置将 Datatable1 值复制到 Datatable2
- php - 在 PHP 中为我的类方法提供默认对象
- c# - c# 上的一个或多个必需参数没有给出值