Python 如何用NaN填写小写单词?

Python 如何用NaN填写小写单词?,python,pandas,Python,Pandas,我有代码来识别数据帧中的小写名称: s =''' hi MOM WHATS up ''' df = pd.read_csv(io.StringIO(s), sep='\s+', header=None) for col in df: df.loc[df[col].str.islower(), col] = pd.np.nan 0 1 0 NaN MOM 1 WHATS NaN df[df.name.str.islower().fil

我有代码来识别数据帧中的小写名称:

s ='''
   hi MOM
   WHATS up
   '''
df = pd.read_csv(io.StringIO(s), sep='\s+', header=None)

for col in df:
    df.loc[df[col].str.islower(), col] = pd.np.nan

       0    1
0    NaN  MOM
1  WHATS  NaN
df[df.name.str.islower().fillna(False)]
如何用NaN替换这些值

我将其他值替换为
replace(变量,np.nan)

df[df.name.str.islower().fillna(False)].replace(变量,np.nan)

但是我应该输入什么变量呢?

您可以使用loc。对于dataframe中的所有列:

s ='''
   hi MOM
   WHATS up
   '''
df = pd.read_csv(io.StringIO(s), sep='\s+', header=None)

for col in df:
    df.loc[df[col].str.islower(), col] = pd.np.nan

       0    1
0    NaN  MOM
1  WHATS  NaN

你可以使用loc。对于dataframe中的所有列:

s ='''
   hi MOM
   WHATS up
   '''
df = pd.read_csv(io.StringIO(s), sep='\s+', header=None)

for col in df:
    df.loc[df[col].str.islower(), col] = pd.np.nan

       0    1
0    NaN  MOM
1  WHATS  NaN

让我们使用
mask

df.name=df.name.mask(df.name.str.islower().fillna(False))
loc

df.loc[df.name.str.islower().fillna(False),'name']=np.nan

让我们使用
mask

df.name=df.name.mask(df.name.str.islower().fillna(False))
loc

df.loc[df.name.str.islower().fillna(False),'name']=np.nan