Python- pandas 删除Excel中的特定行/列 [英] Python - Pandas delete specific rows/columns in excel
问题描述
我有以下excel文件,我想清理特定的行/列,以便我可以进一步处理该文件。
i have the following excel file, and i would like to clean specific rows/columns so that i can further process the file.
我已经尝试过了,但是我没有设法删除任何空白行,我只设法从那些包含数据的行中删除。在这里,我试图只保存第三行及以后的数据。
I have tried this, but i have not managed to remove any of the blank lines, i ve only managed to trim from those containing data. Here, i was trying to only save the data from the third row and on.
xl = pd.ExcelFile("MRD.xlsx")
df = xl.parse("Sheet3")
df2 = df.iloc[3:]
writer4 = pd.ExcelWriter('pandas3.out.no3lines.xlsx', engine='xlsxwriter')
table5 = pd.DataFrame(df2)
table5.to_excel(writer4, sheet_name='Sheet1')
writer4.save()
我特别想删除第1、3行(空行)和第一列,以便我可以进行数据透视它。有没有办法做到这一点?谢谢。
I specifically want to remove rows 1, 3 (the empty ones) and the first column, so that i can pivot it. Is there a way to do this? Thank you.
推荐答案
您可以使用 drop(...)
删除行,并 drop(...,axis = 1)
删除列
You can use drop(...)
to remove rows, and drop(..., axis=1)
to remove columns
data = [
['', '', '', ''],
['', 1, 2, 3],
['', '', '', ''],
['', 7, 8, 9],
]
import pandas as pd
df = pd.DataFrame(data)
# drop first column - [0]
df = df.drop(0, axis=1)
# drop first and third row - [0,2]
df = df.drop([0,2])
print(df)
之前:
0 1 2 3
0
1 1 2 3
2
3 7 8 9
之后:
1 2 3
1 1 2 3
3 7 8 9
这篇关于Python- pandas 删除Excel中的特定行/列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!