python - 我不知道为什么列被更改(原点:'a','b','c'→to_csv:“a,b,c”)
问题描述
我在 python 中使用 pandas 并想在 csv 文件中删除不必要的行
我很困惑这种情况
↓ 编辑前
This is a example
A
B
C
fruit, film, vehicle
apple, Harry potter, Hyundai
banana, Avengers, Ford
↓ 编辑
,0
0 "fruit, film, vehicle"
1 "apple, Harry potter, Hyundai"
2 "banana, Avengers, Ford"
左侧是原始文件,右侧已编辑您可以在左侧看到不必要的行,因此我使用此代码删除了这些行
.drop(index=[0,1,2,3,4])
在我申请后,列(절점,값(N/m^2),X(mm),Y(mm),Z(mm))像右侧一样绑在一起
我怎么解决这个问题?我可以分开这个字符串吗?我想让这个矩阵有 6 列(右侧只有 2 列)
在您发表评论之前,我通过 CAD 程序收到了这个文件,所以我不想自己编辑这个
对不起我的英语水平:(
解决方案
很难准确地理解您需要什么,但是如果您的输入看起来总是一样的,并且您想要获得带有标题的 DF 包含 (X(mm) 等 ),您可以在此行之后获取所有内容。
df = pd.DataFrame({'A': ['chnesseeee stuff1','X(mm)',1755,5.334],
'B': ['chinesseeee stuff 2','Y(mm)',1445,23.23],
})
print(df)
A B
0 chnesseeee stuff1 chinesseeee stuff 2
1 X(mm) Y(mm)
2 1755 1445
3 5.334 23.23
df['temp'] = df['A'].str.extract(r'(X\(mm\))').ffill()
df=df.dropna(subset=['temp'])
del df['temp']
print(df)
A B
1 X(mm) Y(mm)
2 1755 1445
3 5.334 23.23
推荐阅读
- java - Spark SQL Java:线程“主”org.apache.spark.SparkException中的异常
- java - 如何绘制比设备分辨率更大的分辨率 GLSurfaceView?
- talend - 如何检查行流是否已结束
- ios - 使用 iOS 上的自定义对话框直接共享媒体
- javascript - 克隆的选择元素在提交时不发布
- php - 在 Laravel 中,如何使用 csrf 令牌发出 guzzle http post 请求
- java - 我可以从 Spring Boot 应用程序启动电报机器人吗?
- javascript - 错误类型错误:无法读取角度高图中未定义的属性“0”
- javascript - 在对象数组中交换属性值的有效方法
- load - 为什么在我的服务器具有相同配置的情况下增加负载运行程序实例的数量时负载测试会给出更好的结果