首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用就地解决方案的.strip()不能工作

使用就地解决方案的.strip()不能工作
EN

Stack Overflow用户
提问于 2022-05-05 14:19:06
回答 3查看 115关注 0票数 1

我正试图找到一种解决方案,从我的DataFrame中的某些字符串中去掉空格。我找到了这个解决方案,有人说:

我同意其他答案,即在文献资料 for str.strip中没有条形函数的内嵌参数。 另外:我发现熊猫系列的str函数通常用于选择特定的行。就像df[df['Name'].str.contains('69')。我想说,这可能是它没有内嵌参数的一个原因--它并不意味着像renamedrop那样完全“独立”。 也要加!我认为更多的丙酮解决方案是使用负指数代替: data['Name'] = data['Name'].str.strip().str[-5:] 这样,我们不需要假设有18个字符,或者我们将始终得到“最后5个字符”而不是!

因此,我有一个名为' DataFrames‘的dataframes列表。在第一个dataframe (也就是dataframe)上,我有一个名为'CNJ‘的列,其中一些列的字符串值是空的。例如:

输入:

代码语言:javascript
运行
复制
dataframes[0]['cnj'][9]

输出:

代码语言:javascript
运行
复制
'0100758-73.2019.5.01.0064 '

因此,在上面的评论之后,我做了这样的事情:

输入:

代码语言:javascript
运行
复制
dataframes[0]['cnj'] = dataframes[0]['cnj'].strip()

然后,我得到以下错误:

代码语言:javascript
运行
复制
AttributeError: 'Series' object has no attribute 'strip'

由于在另一个主题上给出的解决方案是有效的,我做错了什么来得到这个错误?在我看来,它不应该工作,因为它是一个系列,但它应该得到相同的结果,上面提到的(data['Name'] = data['Name'].str.strip().str[-5:]),对吗?

EN

Stack Overflow用户

回答已采纳

发布于 2022-05-05 14:36:45

使用

代码语言:javascript
运行
复制
dataframes[0]['cnj']=dataframes[0]['cnj'].str.strip()

或者更好的是,首先将数据存储在一个变量中:

代码语言:javascript
运行
复制
df0=dataframes[0]
df0['cnj']=df0['cnj'].str.strip()

您发布的解决方案中的代码使用.str。:

代码语言:javascript
运行
复制
data['Name'] = data['Name'].str.strip().str[-5:]

Pandas对象没有字符串或日期操作方法方法。它们是通过Series.strSeries.dt访问器对象公开的。

Series.str.strip()的结果是一个新的系列。这就是为什么需要.str[-5:]来检索最后5个字符。这个结果又是一个新的系列。这一表述相当于:

代码语言:javascript
运行
复制
temp_series=data['Name'].str.strip()
data['Name'] = temp_series.str[-5:]
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72128756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档