Python Pandas 新列基于一列中的值和另一列中的空白
Python Pandas new column based on value in one column and blank in another
我正在清理数据集并想标记所有输入错误的值。例如,如果一行有类别 A 和一个空白子类别,我想标记它。
数据帧 df:
Category | Subcategory | Value
A aa 3635
A 45654
B bb 3454
C cc 3674
C 4575
我试过这个:
df['Format_Flag'] = ' '
df['Format_Flag'][(df['Category'] == 'A') & (df['Subcategory'] == ' ')] = 'Y'
但它没有标记任何东西。
这是我得到的:
Category | Subcategory | Value | Format Flag
A aa 3635
A 45654
B bb 3454
C cc 3674
C 4575
这就是我要找的:
Category | Subcategory | Value | Format Flag
A aa 3635
A 45654 Y
B bb 3454
C cc 3674
C 4575
df.loc[(df_final['Category'] == 'A') & (df_final['Subcategory'] == ' '),'Format_Flag'] = 'Y'
df = df.fillna('')
使用np.where
df['Format_Flag'] = np.where((df['Category'] == 'A') & (df['Subcategory'] == ' '), 'Y', ' N')
我正在清理数据集并想标记所有输入错误的值。例如,如果一行有类别 A 和一个空白子类别,我想标记它。
数据帧 df:
Category | Subcategory | Value
A aa 3635
A 45654
B bb 3454
C cc 3674
C 4575
我试过这个:
df['Format_Flag'] = ' '
df['Format_Flag'][(df['Category'] == 'A') & (df['Subcategory'] == ' ')] = 'Y'
但它没有标记任何东西。
这是我得到的:
Category | Subcategory | Value | Format Flag
A aa 3635
A 45654
B bb 3454
C cc 3674
C 4575
这就是我要找的:
Category | Subcategory | Value | Format Flag
A aa 3635
A 45654 Y
B bb 3454
C cc 3674
C 4575
df.loc[(df_final['Category'] == 'A') & (df_final['Subcategory'] == ' '),'Format_Flag'] = 'Y'
df = df.fillna('')
使用np.where
df['Format_Flag'] = np.where((df['Category'] == 'A') & (df['Subcategory'] == ' '), 'Y', ' N')