如何将列中的'-'字段替换为零(0)或Nan值
答案 0 :(得分:1)
使用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)
答案 1 :(得分:1)
如果您有一个小的Excel文件,只需将其打开并手动替换为该文件即可。
如果您想使用Python,则可以尝试一下。
df['column_name'] = df['column_name'].str.replace('-', 0)
答案 2 :(得分:1)
执行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