首页 > 解决方案 > 我不知道为什么列被更改(原点:'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 程序收到了这个文件,所以我不想自己编辑这个

对不起我的英语水平:(

标签: pythonpandascsv

解决方案


很难准确地理解您需要什么,但是如果您的输入看起来总是一样的,并且您想要获得带有标题的 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

推荐阅读