Python用NaN替换熊猫数据框中的字符串

时间:2020-09-01 09:45:04

标签: python pandas csv replace nan

如何将列中的'-'字段替换为零(0)或Nan值

Nigeria COVID-19 Cases

3 个答案:

答案 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