检查数据框中的列是否缺少值

问题描述 投票:0回答:1

我的列充满了州名。我知道如何迭代它,但我不知道使用什么语法来检查它的空值。试过“isnull()”,但这似乎是错误的做法。有人知道吗?

正在考虑这样的事情:

for state_name in datFrame.state_name:
    if datFrame.state_name.isnull():
        print ('no name value' + other values from row)
    else:
        print(row is good.)

df.head():
 state_name state_ab            city zip_code
0    Alabama       AL       Chickasaw    36611
1    Alabama       AL      Louisville    36048
2    Alabama       AL      Columbiana    35051
3    Alabama       AL         Satsuma    36572
4    Alabama       AL  Dauphin Island    36528


to_dict():
{'state_name': {0: 'Alabama',
  1: 'Alabama',
  2: 'Alabama',
  3: 'Alabama',
  4: 'Alabama'},
 'state_ab': {0: 'AL', 1: 'AL', 2: 'AL', 3: 'AL', 4: 'AL'},
 'city': {0: 'Chickasaw',
  1: 'Louisville',
  2: 'Columbiana',
  3: 'Satsuma',
  4: 'Dauphin Island'},
 'zip_code': {0: '36611', 1: '36048', 2: '35051', 3: '36572', 4: '36528'}}
python pandas loops frame
1个回答
1
投票

根据您的描述,您可以使用np.where检查行是null还是空字符串。

df['status'] = np.where(df['state'].eq('') | df['state'].isnull(), 'Not Good', 'Good')

(MCVE)例如,假设您有以下数据帧

    state
0   New York
1   Nevada
2   
3   None
4   New Jersey

然后,

    state       status
0   New York    Good
1   Nevada      Good
2               Not Good
3   None        Not Good
4   New Jersey  Good

值得一提的是,你应该尽可能避免循环,因为它们比掩蔽慢

© www.soinside.com 2019 - 2024. All rights reserved.