[英]How to label missing values in python using loop
这是我的 Dataframe
from cmath import nan
student_card = pd.DataFrame({'ID':[20190103, 20190222, 20190531],
'name':['Kim', nan, nan],
'class':['H', 'W', 'S']})
student_card
看起来像这样
所以'name'列中有两个NaN值,我想使用循环将它们填充为'missing1','missing2'(idk不使用循环但不知道如何在没有循环的情况下对它们进行索引)
所以我做了这个 function 并被困在这里。 不行,求大神帮忙,谢谢
import pandas as pd
def fillna_func(df):
df = df.copy()
for i, value in enumerate(df.values):
if value == nan:
df[i].apply("deleted{}".format(i))
return df
fillna_func(student_card['name'])
您可以创建一个名称为 null 的掩码,并以此过滤主 dataframe。 然后使用缺失值的累积和更新这些名称。
import numpy as np
import pandas as pd
student_card = pd.DataFrame({'ID':[20190103, 20190222, 20190531],
'name':['Kim', np.nan, np.nan],
'class':['H', 'W', 'S']})
def fillna_func(df):
m = df.name.isnull()
df.loc[m, 'name'] = 'missing' + m.cumsum().astype(str)
return df
fillna_func(student_card)
Output
ID name class
0 20190103 Kim H
1 20190222 missing1 W
2 20190531 missing2 S
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.