仅从数据框中选择空行
Choose empty rows only from a dataframe
我有以下df
lst=[['01012021','A',10,''],['01012021','B',20,''],['02012021','A',12,'ss'],['02012021','B',23,'sv']]
df2=pd.DataFrame(lst,columns=['Date','FN','AuM','Alpha'])
是否有 loc / iloc 函数可以 return 以下数据帧(仅限空行)
lst=[['01012021','A',10,''],['01012021','B',20,'']]
df3=pd.DataFrame(lst,columns=['Date','FN','AuM','Alpha'])
感谢您的帮助。
您可以使用 .loc
过滤 Alpha 等于''的位置
df2.loc[df2['Alpha'] == '']
Returns:
Date FN AuM Alpha
0 01012021 A 10
1 01012021 B 20
只要您的空白是 alpha 始终是 '',这就会起作用
参见下面的 table 总结了识别 pandas
中的 null/False/empty 元素的各种方法
根据您在“Alpha”中可以拥有的其他值,您可以使用:
只保留空格
df2.loc[df2['Alpha'].eq('')]
保留所有“虚假”值
df2.loc[~df2['Alpha'].astype(bool)]
输出:
Date FN AuM Alpha
0 01012021 A 10
1 01012021 B 20
table 个 empty/falsy/zero-length 个值
df = pd.DataFrame({'data': [1, 'abc', True, 0, '', None,
float('nan'), False, [],
{}, set(), tuple([])]
})
df['type'] = df['data'].apply(lambda x: type(x).__name__)
df['isna'] = df['data'].isna().map({True: 'X', False: ''})
df['isnull'] = df['data'].isnull().map({True: 'X', False: ''})
df['~bool'] = (~df['data'].astype(bool)).map({True: 'X', False: ''})
df['len'] = df['data'].str.len().convert_dtypes()
df['len==0'] = df['data'].str.len().eq(0).map({True: 'X', False: ''})
print(df)
输出:
data type isna isnull ~bool len len==0
0 1 int <NA>
1 abc str 3
2 True bool <NA>
3 0 int X <NA>
4 str X 0 X
5 None NoneType X X X <NA>
6 NaN float X X <NA>
7 False bool X <NA>
8 [] list X 0 X
9 {} dict X 0 X
10 {} set X 0 X
11 () tuple X 0 X
我有以下df
lst=[['01012021','A',10,''],['01012021','B',20,''],['02012021','A',12,'ss'],['02012021','B',23,'sv']]
df2=pd.DataFrame(lst,columns=['Date','FN','AuM','Alpha'])
是否有 loc / iloc 函数可以 return 以下数据帧(仅限空行)
lst=[['01012021','A',10,''],['01012021','B',20,'']]
df3=pd.DataFrame(lst,columns=['Date','FN','AuM','Alpha'])
感谢您的帮助。
您可以使用 .loc
过滤 Alpha 等于''的位置
df2.loc[df2['Alpha'] == '']
Returns:
Date FN AuM Alpha
0 01012021 A 10
1 01012021 B 20
只要您的空白是 alpha 始终是 '',这就会起作用
参见下面的 table 总结了识别 pandas
中的 null/False/empty 元素的各种方法根据您在“Alpha”中可以拥有的其他值,您可以使用:
只保留空格
df2.loc[df2['Alpha'].eq('')]
保留所有“虚假”值
df2.loc[~df2['Alpha'].astype(bool)]
输出:
Date FN AuM Alpha
0 01012021 A 10
1 01012021 B 20
table 个 empty/falsy/zero-length 个值
df = pd.DataFrame({'data': [1, 'abc', True, 0, '', None,
float('nan'), False, [],
{}, set(), tuple([])]
})
df['type'] = df['data'].apply(lambda x: type(x).__name__)
df['isna'] = df['data'].isna().map({True: 'X', False: ''})
df['isnull'] = df['data'].isnull().map({True: 'X', False: ''})
df['~bool'] = (~df['data'].astype(bool)).map({True: 'X', False: ''})
df['len'] = df['data'].str.len().convert_dtypes()
df['len==0'] = df['data'].str.len().eq(0).map({True: 'X', False: ''})
print(df)
输出:
data type isna isnull ~bool len len==0
0 1 int <NA>
1 abc str 3
2 True bool <NA>
3 0 int X <NA>
4 str X 0 X
5 None NoneType X X X <NA>
6 NaN float X X <NA>
7 False bool X <NA>
8 [] list X 0 X
9 {} dict X 0 X
10 {} set X 0 X
11 () tuple X 0 X