python - 将所有列合并为一个空单元格
问题描述
我想将大量具有相似数据的列合并为一列。数据框中的行有很多空单元格,因为每一行都有自己的列用于这些相似的数据。例如:
Name Weight Addressw Addressx Addressy Addressz
A 10 11 g place
B 15 6, corner
C 24 15, lane garbage
D 33 51, street
在 C 行中,由于两列包含信息,我想将第一列,即“15,车道”放入新列。所以生成的数据框看起来像这样:
Name Weight Address
A 10 11 g place
B 15 6, corner
C 24 15, lane
D 33 51, street
解决方案
IIUC,你可以这样做:
df['Address'] = df.lookup(np.arange(len(df)), (~df.iloc[:, 2:].isna()).idxmax(1))
result = df[['Name', 'Weight', 'Address']]
print(result)
输出
Name Weight Address
0 A 10 11 g place
1 B 15 6, corner
2 C 24 15, lane
3 D 33 51, street
该方法将从每一行中获取第一个有效地址。
推荐阅读
- android - 检查 WorkManager 状态
- typescript - 是否已经可以在 react-native 中使用顶级等待?
- java - 如何在 HttpsConnectorFactory 中指定 certAliasePassword?
- typescript - 我可以访问 TypeScript 中类定义之外的私有变量吗?
- java - 我如何使用 trim() 方法来完成这项工作?我需要读取 txt 文件,同时忽略以“//”开头的空行和行
- latex - 使用列表颜色格式中断的可破坏 tcolorbox
- lua - 如何打印lua的计算结果
- c++ - 擦除在while循环中迭代的元素
- python - 通过 python-docx 转录 Word docx 文件以修改字体和字体大小,
- java - 将mysql查询转换为休眠条件