清理熊猫数据框中的单列

将 CSV 作为 Pandas 数据框导入并删除所有完全空的列:


import pandas as pd 


df1 = pd.read_csv("name.csv") 

df1 = df1.dropna(axis=1,how='all')

唉,一列看起来像:


'Background\r\n * find it: IDE-3: Some Name\r\n * Dokument: SomeName.pptx\r\n * Field: TEG-33\r\n  * happy: Done\r\n\r\nh3. Definition\r\n\r\n\xa0tbd.\r\nh3. exists\r\n\r\ncsv\r\nh3. Source\r\n\r\ncsv?\r\n\r\npotentiell?\r\n\r\ntbd\r\nh3. task\r\n\r\ntbd\r\n\r\n\xa0'

问题 1:我想删除所有 \r\n 和 \r\n\r\ 和 \r\n\r\n\ 和 \r\n\r\n\xa0 等。任何人都可以帮助使用正则表达式? 我找不到清晰的模式。


问题 2:首先如何防止在将 CSV 导入 Pandas 数据框时写入所有这些各种形式的 \r\n\r\(参见问题 2)?


清理数据框中提到的列的所有行后,最终结果应该是

http://img4.mukewang.com/619368b400010c1f05160282.jpg

(Python 3,Anaconda3 分发版,在 Windows 10 上)


慕勒3428872
浏览 170回答 2
2回答

HUH函数

对于问题 1:(df1['Column 3'].str.replace('\r','').str.replace('\n','').str.replace('\xa0', ''))对于问题 2:您可以在数据进入 csv 时对其进行清理 - 但在不知道数据来自何处的情况下很难说!

慕侠2389804

问题 1这个正则表达式将实现你想要的:(\r\n)+(\r)*(\xa0)*解释:(\r\n)+  # One or more copies of '\r\n'(\r)*    # Any extra appended    '\r'(\xa0)*  # Any final appended    '\xao'但请注意,在您的示例中,没有\r\n...\rie形式的字符串,最后附加了\r.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python