如何合并因长文件名被误读拆分的DataFrame两行数据?
处理DataFrame中被拆分的文件名行
解决方案步骤
- 统一处理空值,将
None转换为pandas可识别的空值类型:
import pandas as pd # 假设数据已读入为df df = df.replace([None], pd.NA)
- 向前填充
File-Name列的空值,让拆分的文件名后半段与前一行的前半段关联:
df['File-Name'] = df['File-Name'].ffill()
- 按
Time Stamp和File Size分组,合并同一文件的拆分文件名:
df = df.groupby(['Time Stamp', 'File Size'], dropna=False)['File-Name'].apply(' '.join).reset_index()
- 清理包含空值的无效行:
df = df.dropna(subset=['Time Stamp', 'File Size', 'File-Name'])
逻辑说明
拆分的行有明显特征:同一文件的拆分行共享相同的Time Stamp和File Size,且其中一行文件名不完整、另一行的时间/大小为空。通过向前填充文件名,可将拆分的前后段归属到同一组,分组拼接后得到完整文件名,最后清理无有效数据的行即可。
内容的提问来源于stack exchange,提问作者tooDeeStoned
相关产品推荐
相关产品推荐

