Win*_*ags 1 python filtering pandas
我有一个 csv 文件,其中有很多字符串"NULL",在几列中。
我想选择(过滤器),其具有行"NULL"价值的任何的几个特定列。
例子:
Run Code Online (Sandbox Code Playgroud)["Firstname"] ["Lastname"] ["Profession"] "Jeff" "Goldblum" "NULL" "NULL" "Coltrane" "Musician" "Richard" "NULL" "Physicist"
在这里,我想过滤(选择)列中df具有值"NULL"的行"Firstname" 或 "Lastname"– 但如果值"NULL"在"Profession".
这设法None在一列中过滤字符串(不是):
df = df[df["Firstname"].str.contains("NULL", case=False)]
Run Code Online (Sandbox Code Playgroud)
然而,我试图将"NULL"字符串转换为None通过:
df = df.where((pd.notnull(df)), None)
df.columns = df.columns.str.lower()
Run Code Online (Sandbox Code Playgroud)
鉴于上述str.contains过滤,也许"NULL"在转换为None?
我认为你需要第一个字符串到. 然后检查所选列中的所有值 by并选择所有行,其中by :replace NULLNaNNaNisnullany Trueboolean indexing
df = df.replace("NULL", np.nan)
print (df[['Firstname','Lastname']].isnull())
Firstname Lastname
0 False False
1 True False
2 False True
print (df[df[['Firstname','Lastname']].isnull().any(1)])
Firstname Lastname Profession
1 NaN Coltrane Musician
2 Richard NaN Physicist
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4815 次 |
| 最近记录: |