所以,我一直在用python处理pandas,我从外部系统中提取数据,每列末尾都有很多空格。我想到了在每个系列中使用一个str.strip()方法和一个代码:
Data["DESCRIPTION"] = Data["DESCRIPTION"].str.strip()
它基本上完成了它的工作,但我注意到,当我检查使用数据帧的属性时,我遇到了一个问题,如果在一个值中只有没有任何文本的空格,那么它是空的,但它不会将标量转换为空:
<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
我怎么可能将所有这些转换为空,以便我可以使用dropna()函数删除它们?
如有任何建议,我将不胜感激。
要删除尾随空格并将空字符串或记录仅替换为空格,请运行以下命令。
Data["DESCRIPTION"].str.strip().replace(r'^\s*$', np.nan, regex=True)
请参阅本页,用pandas中的NaN替换空白值(空白)
像这样的空字符串isnull()找不到空字符串
我有一个熊猫数据框(通过导入csv文件创建)。我想用NaN替换空白值。这些空白值中有些是空的,有些包含(可变数量的)空格,,,等等。 使用这个线程中的建议 它会替换所有只包含空格的字符串,但也会替换每个包含空格的字符串,这不是我想要的。 如何仅用空格和空字符串替换字符串?
我不想拆分我的字符串,以便hello的值得到“hello”,而hi的值得到“hi”
对于类似字符串的列具有以下列: 虽然这些肯定是有用的,但了解任何给定列中是否有空值以及有多少空值也是非常重要的。 虽然我可以求助于编写自定义函数来找到它,但这将是一个巨大的额外开销。请注意,有一个相关的问题,但主要关注数字列,因此不直接适用:如何计算DataFrame中列中的NaN值。那么,是否还有另一个助手函数可以提供这些附加信息呢?
现在假设用户enterd AAA-222 结果将是 ps.拆分的部分应该包括空格。
我有这样的数据: 我想创建一个新的列,将成本转换为美元。只是提一下,有12种货币。 这是我所写的: 使用这段代码,我得到了一个错误。