python - 如果 col 为空字符串,则将相邻列也设为空
问题描述
考虑这个样本df:
colAnum colB colCnum colD
123 House 456 Book
Car 789 Table
891 Chair Porch
我正在尝试滚动此 df,如果“num”列是空字符串,则将右侧的相邻列也设为空。
这是预期的输出:
colAnum colB colCnum colD
123 House 456 Book
789 Table
891 Chair
我对此进行了尝试:
for idx, col in enumerate(df.columns):
if df.iloc[idx, col] == '':
df[idx+1,col] == ''
我确信我错过了一些简单的东西来实现这一点,但无法解决它。
解决方案
尝试shift
与mask
out = df.mask(df.eq('').shift(axis=1).fillna(False),'')
colAnum colB colCnum colD
0 123.0 House 456.0 Book
1 789.0 Table
2 891.0 Chair
推荐阅读
- amazon-web-services - Cloudfront 需要多长时间才能使用新的 SSL 证书?
- javascript - 使用 Promise 的多个 jQuery Ajax 调用
- python - Django 2 个字段之一不能为空
- python - 为什么 Python Selenium 经常导致页面未加载?
- java - 当我使用 junit Cucumber 运行 TestRunner 类时,我得到 0 Scenarios 0 Steps 0m0.000s
- php - PrestaShop PHP 复制文件
- logging - 使用酒厂管理日志文件
- python - 获取多索引熊猫数据框的元素平均值
- openlayers-5 - ol-cesium:有没有办法在 ol-cesium 中选择一个特征并将其追溯到 openlayers 特征?
- git - 结帐后詹金斯失败,没有错误