所以,我一直在python中使用panda,我从外部系统中提取了数据,每列末尾都有很多空格。我有一个想法,要在每个系列中使用一个带有代码的str.strip((方法:
Data["DESCRIPTION"] = Data["DESCRIPTION"].str.strip()
它基本上完成了它的工作,但我注意到,当我使用检查数据帧的属性时,我遇到了一个问题,即如果一个值中只有空格而没有任何文本,那么它是空的,但它不会将标量转换为null:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 18028 entries, 0 to 18027
Data columns (total 11 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 VIN 18028 non-null object
1 DESCRIPTION 18028 non-null object
2 DESCRIPTION 2 18028 non-null object
3 ENGINE 18023 non-null object
4 TRANSMISSION 18028 non-null object
5 PAINT 18028 non-null object
6 EXT_COLOR_CODE 18028 non-null object
7 EXT_COLOR_DESC 18028 non-null object
8 INT_COLOR_DESC 18028 non-null object
9 COUNTRY 18028 non-null object
10 PROD_DATE 18028 non-null object
dtypes: object(11)
memory usage: 1.5+ MB
但是,如果字符串为空,则检查条件:
Data['DESCRIPTION 2'] == ""
0 True
1 True
2 True
3 True
4 True
...
18023 True
18024 True
18025 True
18026 True
18027 True
Name: DESCRIPTION 2, Length: 18028, dtype: bool
我怎么可能将所有这些转换为null,以便使用dropna((函数删除它们?
如果有任何建议,我将不胜感激。
要在Nan时删除尾部空格并仅用空格替换空字符串或记录,请运行以下命令。
Data["DESCRIPTION"].str.strip().replace(r'^s*$', np.nan, regex=True)
请参阅本页将Panda 中的空白值(空白(替换为NaN