pandas - 根据值在列中删除一个单元格
问题描述
我当前的 data_frame 的一个基本示例如下所示:
Material Description From
1 Bitumen 0.025
2 Road 0.14
3 Filling 0.24
4 0.82
5 1.55
6 Filling
7 Sand
我想在下面有这个 data_frame 输出:
Material Description From
1 Bitumen 0.025
2 Road 0.14
3 Filling 0.24
4 Filling 0.82
5 Sand 1.55
遍历 data_frame['Material Description'] 中的这些单元格并删除单元格而不是整行会很棒。我已经尝试了下面的代码,但不幸的是发生了属性错误。
for q in range(len(data_frame)):
if (data_frame.loc[q, "Material Description"]) == "":
data_frame.loc[q, "Material Description"].drop()
在此先感谢您的帮助!:)
解决方案
这更像是一个NaN
移位问题,为了加快你可以检查Python:Justifying NumPy array
df=df.mask(df=='').apply(lambda x : sorted(x,key=pd.isnull)).dropna(thresh=1)
df
Out[145]:
MaterialDescription From
1 Bitumen 0.025
2 Road 0.140
3 Filling 0.240
4 Filling 0.820
5 Sand 1.550
推荐阅读
- spring - 本地的 RabbitMQ 替代方案
- c# - 使用 ActivatorUtilities.CreateInstance 从类型创建实例
- laravel - Laravel 显示错误的存储路径
- node.js - 异步套接字问题
- bash - 使用类似三元的语法分配 bash 变量
- esp8266 - 如何在 ESP8266/ESP32 上的 SPIFFS 文件中“查找和替换”字符串?
- java - 在基于 Gradle 的 Spring Rest 项目中向 Manifest 添加提交
- arrays - Parse a JSON Array from a GET API Call in google apps script
- python - 如何将字节元组转换为整数并返回?
- node.js - 在包json中添加多个代理