Python用NaN替换pandas数据帧中的字符串

2024-04-25 12:22:27 发布

您现在位置:Python中文网/ 问答频道 /正文

如何用零(0)或Nan值替换列中的“-”字段

Nigeria COVID-19 Cases


Tags: nancasescovidnigeria
3条回答

如果您有一个小Excel文件,只需打开它并手动将其替换到文件中即可

如果你想使用Python,那么你可以试试这个

df['column_name'] = df['column_name'].str.replace('-', 0)

使用^{}方法将-替换为numpynan

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)

执行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

相关问题 更多 >