我正在使用 pandas 读取 Excel 文件并“清理它”
问题: 假设单元格范围是从 [0, 0] 到 [8, 8] 我想删除“!”所列出的范围内的单元格中的字符。 例如,某些单元格的值为“0.02!”或“包括!ne”。
我过去曾尝试过一些代码,这些代码通常针对 data_frame,但并不具体针对概述的范围 - 我是 python 的新手!
我希望输出为“0.02”或“inclne”
提前致谢:)
最佳答案
使用pandas.DataFrame.iloc
并替换
。给定 df:
0 1 2 ... 8 9
0 0.02! 0.02! incl!ne ... incl!ne incl!ne
1 0.02! 0.02! incl!ne ... incl!ne incl!ne
2 incl!ne 0.02! incl!ne ... 0.02! incl!ne
3 incl!ne 0.02! incl!ne ... 0.02! 0.02!
4 incl!ne incl!ne incl!ne ... 0.02! incl!ne
5 0.02! 0.02! 0.02! ... 0.02! incl!ne
6 0.02! 0.02! incl!ne ... incl!ne incl!ne
7 0.02! incl!ne 0.02! ... incl!ne incl!ne
8 incl!ne 0.02! incl!ne ... incl!ne incl!ne
9 incl!ne incl!ne 0.02! ... 0.02! incl!ne
df.iloc[0:8, 0:8] = df.iloc[0:8, 0:8].replace('!', '', regex=True)
print(df)
输出:
0 1 2 3 4 5 6 7 \
0 0.02 0.02 inclne 0.02 0.02 0.02 0.02 0.02
1 0.02 0.02 inclne inclne inclne inclne inclne inclne
2 inclne 0.02 inclne inclne inclne 0.02 inclne inclne
3 inclne 0.02 inclne inclne 0.02 0.02 0.02 0.02
4 inclne inclne inclne inclne inclne inclne inclne 0.02
5 0.02 0.02 0.02 0.02 inclne 0.02 0.02 0.02
6 0.02 0.02 inclne 0.02 inclne 0.02 0.02 0.02
7 0.02 inclne 0.02 0.02 inclne 0.02 0.02 0.02
8 incl!ne 0.02! incl!ne 0.02! incl!ne incl!ne incl!ne incl!ne
9 incl!ne incl!ne 0.02! incl!ne incl!ne incl!ne incl!ne incl!ne
8 9
0 incl!ne incl!ne
1 incl!ne incl!ne
2 0.02! incl!ne
3 0.02! 0.02!
4 0.02! incl!ne
5 0.02! incl!ne
6 incl!ne incl!ne
7 incl!ne incl!ne
8 incl!ne incl!ne
9 0.02! incl!ne
关于python - 使用 pandas 查找从特定范围内的单元格中删除 '!' 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57455222/