一个pandas数据框统计问题,求大佬指导一下思路

用python的pandas读取一个csv文件,当中的每个元素都可能包含特殊字符(空格、换行符、制表符等),对这个数据框:

1.统计每个特殊字符所占的元素数量,比如有10个元素包含空格,那么就显示“空格数10”这样

2.显示包含特殊字符列的列标签

以上求大佬指点一下,用什么方法,用什么循环,什么时候加正则如此

阅读 2k
1 个回答
import pandas as pd
df = pd.read_csv("./test.csv")
df.head()

1.png

# 统计特殊字符的个数
target = {
    # 空格
    "space":{},
    # 制表符
    "tab":{},
    # 换行符
    "rn":{}
}
for col in df.columns:
    num_sapce = 0
    num_tab = 0
    num_rn = 0
    for ele in df[col]:
        if " " in ele:
            num_sapce += 1
        elif "\t" in ele:
            num_tab += 1
        elif "\n" in ele:
            num_rn += 1
    target["space"].setdefault(col, num_sapce)
    target["tab"].setdefault(col, num_tab)
    target["rn"].setdefault(col, num_rn)
target

2.png

对结果的解读:对于输出target字典中,换行符"rn"在test.csv每一列出现情况为:第一列出现0次,第二列出现2次,第三列出现1次;空格符" "在test.csv每一列出现情况为:第一列出现1次,第二列出现0次,第三列出现2次;制表符"t"在test.csv每一列出现情况为:第一列出现1次,第二列出现0次,第三列出现2次。符合表中实际情况,希望能解决你的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题