【发布时间】:2020-12-20 10:11:51
【问题描述】:
【问题讨论】:
-
@Stef 他正在尝试将字符
-替换为值 0 或 NaN,而不是尝试将 Nan 替换为 0。
标签: python pandas csv replace nan
【问题讨论】:
- 替换为值 0 或 NaN,而不是尝试将 Nan 替换为 0。
标签: python pandas csv replace nan
执行pip install openpyxl 然后获取工作簿并找到工作表,选择所有单元格并将具有 - 的单元格替换为 0。这可行,我已经用这里的文档对其进行了测试。希望这能解决您的问题。您应该将“replace.xlsx”更改为您的文档名称。
import openpyxl
#open workbook
wb = openpyxl.load_workbook("replace.xlsx") #ensure you change this
#select worksheet
sheet = wb['Sheet1']
#choose fields
chosen_field = sheet
for rowOfCellObjects in chosen_field: # loop over every rows
for cellObj in rowOfCellObjects: #loop every cells in one row
print(cellObj.value)
if cellObj.value == "-":
cellObj.value = 0
print(cellObj.coordinate, cellObj.value)
wb.save('replace.xlsx') #ensure you change this
【讨论】:
如果您有一个小的 Excel 文件,只需打开它并在文件中手动替换它。
如果你想使用 Python,那么你可以试试这个。
df['column_name'] = df['column_name'].str.replace('-', 0)
【讨论】:
使用replace()方法将-替换为numpy的nan:
import numpy as np
import pandas as pd
lst = ['-', 'For', '-', 'is',
'portal', 'for', '-']
VALUE_TO_REPLACE = '-'
TARGET_REPLACED_VALUE = np.NaN # Or either 0
df = pd.DataFrame(lst)
df = df.replace([VALUE_TO_REPLACE], TARGET_REPLACED_VALUE)
print(df)
【讨论】: