使用pandas将dataframe不同行字符串合并为单行(忽略空行)的方法
Pandas多行合并为单行(忽略空行)解决方案
需求说明
现有包含多行数据的Pandas DataFrame,需将指定区域的多行合并为单行,合并时忽略空行。原有尝试代码运行后未得到预期结果:
import pandas as pd all_dfs_1 = pd.read_csv("Test.csv",header=None) all_dfs_1.groupby(0)[1].apply(' '.join).reset_index()
修复方案
原有代码未对空行做过滤,导致空内容被纳入合并逻辑,调整后代码如下:
import pandas as pd # 读取原始数据 df = pd.read_csv("Test.csv", header=None) # 清洗空行:排除第1列为空、或仅包含空白字符的行 df_valid = df[df[1].notna() & df[1].str.strip().astype(bool)] # 按第0列分组,对同分组下的第1列内容用空格拼接 merged_df = df_valid.groupby(0)[1].apply(' '.join).reset_index() # 若需要最终输出完全的1行结果,可添加下方代码将所有内容二次拼接 # single_row = pd.DataFrame([merged_df[1].str.cat(sep=' ')])
效果说明
- 清洗步骤会过滤掉所有无效空行,避免合并结果出现多余空格
- 分组拼接逻辑和原有逻辑对齐,仅过滤无效输入,不会改动原有正常内容的合并规则
- 可选的二次拼接步骤可以满足整表输出为单行的需求
内容的提问来源于stack exchange,提问作者gupta
相关产品推荐
相关产品推荐

