把数据结构中,行相同的数据只保留一行。 函数语法: drop_duplicates() 删除重复值newdf=df.drop_duplicates()
from pandas import read_csv
df = read_csv('D://PDA//4.3//data.csv')
df
#找出行重复的位置
dIndex = df.duplicated()
#根据某些列,找出重复的位置
dIndex = df.duplicated('id')
dIndex = df.duplicated(['id', 'key'])
#根据返回值,把重复数据提取出来
df[dIndex]
#直接删除重复值
#默认根据所有的列,进行删除
newDF = df.drop_duplicates()
#当然也可以指定某一列,进行重复值处理
newDF = df.drop_duplicates('id')
2、缺失值处理
dropna函数作用:去除数据结构中值为空的数据。 dropna() newdf=df.dropna()
from pandas import read_csv
df = read_csv(
'D:\\PDA\\4.4\\data.csv'
)
df = read_csv(
'D:\\PDA\\4.4\\data2.csv',
na_values=['a','b']
)
#找出空值的位置
isNA = df.isnull()
#获取出空值所在的行
df[isNA.any(axis=1)]
df[isNA[['key']].any(axis=1)]
df[isNA[['key', 'value']].any(axis=1)]
df.fillna('未知')
#直接删除空值
newDF = df.dropna()
strip函数作用:清除字符型数据左右的空格。 与R中的trim函数用法一样 newname=df["name"].str.strip()
from pandas import read_csv
df = read_csv(
'D:\\PDA\\4.5\\data.csv'
)
newName = df['name'].str.lstrip()
newName = df['name'].str.rstrip()
newName = df['name'].str.strip()
df['name'] = newName