python是否可以通过熊猫格式化单元格中的字符串

时间:2018-10-16 06:46:30

标签: python pandas

我有一个csv文件,数据行的示例如下:

Col A    Col B    Col C
‘Cat’     ‘9’     ‘’
‘Dog’     ‘’     ‘male’
Expected result -> 
Cat 9
Dog  male 

我使用了replace(“”,“”,regex = True),但‘’并没有消失。

2 个答案:

答案 0 :(得分:0)

您可以使用replace

df = df.replace("[‘’]","", regex=True)
print (df)
  Col A Col B Col C
0   Cat     9      
1   Dog        male

答案 1 :(得分:0)

基于粘贴的内容,您的值可能不是''而是Unicode字符。 @jezrael在其评论中暗示了这一点。因此,基于ascii '进行替换无法捕获Unicode。

一种检查方法是:

import unidecode (df.applymap(unidecode.unidecode) .apply(lambda s: s.str.replace("'", "") )

这有两件事:

  1. 使用unidecode库将Unicode转换为ascii,这是一个非常方便的通用库,用于将Unicode字符剥离为相当合理的ascii等效项。如果您大量地进行文本处理和字符串标准化,那确实可以有所帮助。

  2. 使用Pandas的str库,这是一个了不起的扩展。如果像我一样定期对字符串数据进行EDA,这实际上会改变您的生活。在遇到这个图书馆之前,我已经处于黑暗中多年。 (另一个很棒的熊猫宝石是dt库。)