jupyter notebook AI人工智能数据预处理中 数据脱敏 碰到的问题

import numpy as np
import pandas as pd 
import datetime
dfraw=pd.read_csv('coding/datasets/contacts.csv',index_col='ssn')
dfraw.head()

df['ssn']=dfraw['ssn'].apply(
    lambda ssn:ssn[:6] + '*'*8 + ssn[14:])
df.head()

然后会提示出错KeyError: 'ssn'
这是为什么呢?
还有我想知道路径('coding/datasets/contacts.csv',index_col='ssn')代表了什么含义? 为什么把coding换成 . 不可以。因为习题里面原路径是('./datasets/contacts.csv',index_col='ssn'),但是会报错

建议百度查看下pandas的read_csv()函数参数的意思就知道了。
前面的是路径,后面的index_col是将原来的列名设置为"ssn"
至于coding换成点不行,那就是路径不对,这个涉及到相对路径,也就是相对于你运行目前代码的py文件所在的路径,习题那么写2的话,py文件就是datasets这个文件夹同一级,而你这么写你是在coding这个文件夹同一级,你的coding下面一级才是datasets。如果你搞不懂就设置绝对路径,也就是从盘符开始写起

在读取成数据框时已经将数据列ssn作为索引列,所以在列中无ssn,用df[‘ssn']会报无健值错误。可以暂时不设定index_col,或者将dfraw转换:
dfraw=dfraw.reset_index()
关于路径用点就表示与py文件同一目录,而不是在coding里的文件,因而读取会报错。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632