1、isin用法,可结合&、|使用>、==等:
df_isin = df[df['工单号'].isin([1, 2, 3])]
2、查询A列,修改B列
df[df['告警类型'] == '网络', '业务线'] = '数据库' #查询列:告警类型,值为网络的目标,目标列:业务线的值改为‘数据库’
3、正则剔除匹配的数据
regx = '.*大数据分析平台.*(CPU|memory|Filesystem space)$'
df = df[~df['流程实例标题'].str.match(regx)]
4、指定位置插入列
df.insert(2, '是否超时', '哈哈') #第二列后插入列名为‘是否超时’, 值为‘哈哈 ’’
5、时间转换
df.to_datetime('2020-11-30 00:00:00,, format='%Y/%m/%d')
6、删除行列
df.drop('col1', axis=1) #axis=1表示删除列,axis=0表示删除行
7、ffill向下填充空值
col = ['A', 'B', 'C']
df[col].ffill()
8、去重
# 审批历时单位转换及重复数据筛选, 如:原始数据:[1, 2, 2, 3, 3]
a = df.drop_duplicates(subset=[filtername], keep='first') # 保留一条重复数据 结果: [1, 2, 3]
b = df.drop_duplicates(subset=[filtername], keep=False) # 所有重复数据都删掉 结果:[1]
c = a.append(b).drop_duplicates(subset=[filtername], keep=False) # 去除重复数据 结果:[2, 3]
9、筛选求和
df[df['工单号'] == 100]['任务时长'].sum() #列:工单号为100的目标,对列:任务时长求和
10、迭代
for index, row in df.iterrows():
print(index, row['工单号'])
11、map结合lambda
data["gender"] = data["gender"].map({"男":1, "女":0}) #列男改为1,列女改为0
df['处理时长'].map(lambda x: x/(60*60)) #列处理时长所有值进行lambda表达式操作
12、重命名列
df.rename(columns={'审批历史': '累计时长'})