一个pandas数据框统计问题,求大佬指导一下思路
用python的pandas读取一个csv文件,当中的每个元素都可能包含特殊字符(空格、换行符、制表符等),对这个数据框:
1.统计每个特殊字符所占的元素数量,比如有10个元素包含空格,那么就显示“空格数10”这样
2.显示包含特殊字符列的列标签
以上求大佬指点一下,用什么方法,用什么循环,什么时候加正则如此
回答
import pandas as pd
df = pd.read_csv("./test.csv")df.head()
# 统计特殊字符的个数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
对结果的解读:对于输出target字典中,换行符"rn"在test.csv每一列出现情况为:第一列出现0次,第二列出现2次,第三列出现1次;空格符" "在test.csv每一列出现情况为:第一列出现1次,第二列出现0次,第三列出现2次;制表符"t"在test.csv每一列出现情况为:第一列出现1次,第二列出现0次,第三列出现2次。符合表中实际情况,希望能解决你的问题
以上是 一个pandas数据框统计问题,求大佬指导一下思路 的全部内容, 来源链接: utcz.com/a/35056.html