当前位置: 首页 > 面试题库 >

熊猫修剪数据框中的前导和尾随空白

唐信瑞
2023-03-14
问题内容

开发可修剪前导和尾随空白的功能。

这是一个简单的示例,但是实际文件包含的行和列要复杂得多。

df=pd.DataFrame([["A b ",2,3],[np.nan,2,3],\
[" random",43,4],[" any txt is possible "," 2 1",22],\
["",23,99],[" help ",23,np.nan]],columns=['A','B','C'])

结果应消除所有前导和尾随空格,但保留文本之间的空格。

df=pd.DataFrame([["A b",2,3],[np.nan,2,3],\
["random",43,4],["any txt is possible","2 1",22],\
["",23,99],["help",23,np.nan]],columns=['A','B','C'])

请注意,该功能需要涵盖所有可能的情况。谢谢


问题答案:

我认为需要检查值是否为字符串,因为列中的混合值-带字符串的数字和每个字符串调用strip

df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
print (df)
                     A    B     C
0                  A b    2   3.0
1                  NaN    2   3.0
2               random   43   4.0
3  any txt is possible  2 1  22.0
4                        23  99.0
5                 help   23   NaN

如果列具有相同的dtype,则NaN对于列中的数值,您的示例中不会得到B

cols = df.select_dtypes(['object']).columns
df[cols] = df[cols].apply(lambda x: x.str.strip())
print (df)
                     A    B     C
0                  A b  NaN   3.0
1                  NaN  NaN   3.0
2               random  NaN   4.0
3  any txt is possible  2 1  22.0
4                       NaN  99.0
5                 help  NaN   NaN


 类似资料:
  • 问题内容: 我有一个包含路径的字符串 我想修剪前后的和。Python 3的最佳做法是什么? 目前我正在使用 两个问题: 这是在Python 3中修剪特定字符的最佳修剪功能吗? Python 3中是否有针对此类操作的特定路径函数,因此我不必手动设置定界符? 问题答案: 我相信这是Python方式。当有内置函数时,通常是这种情况。 库中有一些内置的路径操纵器。如果操纵器之一适合您的用例,则可能要使用它

  • 问题内容: 如何修剪Java字符串中的开头或结尾字符? 例如,斜杠字符“ /”-我对空格不感兴趣,并且希望在不同的时间修剪前导或尾随字符。 问题答案: 你可以用 领导: 尾随:

  • 问题内容: 有没有一种方法可以从Pandas的DataFrame中选择随机行。 在R中,使用汽车包装,有一个有用的功能,它类似于head,但在此示例中,从x中随机选择10行。 我也看过切片文档,似乎没有什么等效的。 现在使用版本20。有一个示例方法。 问题答案: 像这样吗 注: 由于熊猫v0.20.0的, 已被弃用,赞成基于标签索引。

  • 问题内容: 我很难尝试将.strip与以下代码行结合使用。 谢谢您的帮助。 问题答案: 您可以使用strip()删除尾随和前导空格。 注意:内部空间被保留

  • 我有一个包含路径的字符串 并且我想修剪前导和后导的和。Python3中的最佳实践是什么? 目前我正在使用 两个问题: 这是在Python 3中修剪特定字符的最佳修剪函数吗? 在Python 3中是否有针对此类操作的特定路径函数,这样我就不必手动设置分隔符了?

  • 我试图将CSV字符串导出到D3 Web应用程序,但是命令坚持向数据添加尾随0,这阻止了D3的正确使用。 这里有一个简单的例子来说明这个问题。 我的(简化)数据帧是: 包含一个,如下所示: 然后根据这个答案,我运行要获取我想要的格式,请执行以下操作: 现在,包含一个