如何在Pandas DataFrame特定单元格为空时为其分配变量
处理Pandas DataFrame中空字符串的变量赋值
首先复现你的DataFrame:
import pandas as pd data = [['tom', 10], ["", 15], ['juli', 14]] df = pd.DataFrame(data, columns=['Name', 'Age'])
针对Name列的*空字符串(非NaN)*缺失值,以下是几种赋值变量的实用方法:
1. 直接替换为固定变量值
先定义要分配的变量,再定位空字符串单元格完成替换:
# 定义要分配的变量 fill_value = "unknown" # 方法一:使用loc精准定位赋值 df.loc[df['Name'] == '', 'Name'] = fill_value # 方法二:使用replace批量替换 # df['Name'] = df['Name'].replace('', fill_value)
处理后df.head()的结果:
Name Age 0 tom 10 1 unknown 15 2 juli 14
2. 根据其他列动态赋值变量
如果需要结合其他列(如Age)的逻辑分配变量,可以用apply实现:
# 定义动态赋值的逻辑函数 def assign_name(row): if row['Name'] == '': # 根据Age值分配不同变量 return 'adult' if row['Age'] >= 15 else 'young' return row['Name'] # 应用函数到每一行 df['Name'] = df.apply(assign_name, axis=1)
处理后df.head()的结果:
Name Age 0 tom 10 1 adult 15 2 juli 14
内容的提问来源于stack exchange,提问作者Omar
相关产品推荐
相关产品推荐

