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

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

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

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

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

回答

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次。符合表中实际情况,希望能解决你的问题

以上是 一个pandas数据框统计问题,求大佬指导一下思路 的全部内容, 来源链接: utcz.com/a/35056.html

回到顶部