如何为DataFrame指定列设置字符串处理规则并过滤数据行?
Pandas DataFrame 处理实现方案
首先导入pandas依赖:
import pandas as pd
处理步骤
- 动态获取DataFrame第一列的列名,无需手动指定即可适配不同表结构
- 过滤第一列首个单词长度为1的行,直接删除不符合条件的整行
- 对保留的行,将第一列内容替换为首个单词(即第一个空格前的所有内容),其余列数据完全保留
完整可运行代码(含示例测试)
# 构造示例DataFrame,实际使用时替换为你自己的DataFrame即可 df = pd.DataFrame({ "第一列": ["G Gsrnrf", "DNN fdffk", "OCGN fnjfdj", "ABC", "X test"], "其他多列": ["xxxxxxx", "xxxxx", "xxxxx", "yyyyy", "zzzzz"] }) # 动态获取第一列列名 first_col = df.columns[0] # 1. 过滤首单词长度为1的行 df = df[df[first_col].str.split().str[0].str.len() > 1].copy() # 2. 第一列仅保留首个单词 df[first_col] = df[first_col].str.split().str[0] # 可选:重置处理后的索引 df.reset_index(drop=True, inplace=True) print(df)
运行输出结果
| 第一列 | 其他多列 |
|---|---|
| DNN | xxxxx |
| OCGN | xxxxx |
| ABC | yyyyy |
注意事项
- 如果第一列存在空值,可在处理前添加代码
df = df.dropna(subset=[first_col])删除空值行,避免运行报错 - 若不需要重置索引,直接删除
df.reset_index(drop=True, inplace=True)行即可
内容的提问来源于stack exchange,提问作者Isabel Jones
相关产品推荐
相关产品推荐

