通过apply进行数据预处理
首先读入csv文件
df = pd.read_csv('apply_demo.csv')
print(df.head())
看看规模
print(df.size)
创建新的series
s1 = Series(['a']*7879)
df['A'] = s1
print(df.head())
打印结果
把A下面的a变成大写
df['A'] = df['A'].apply(str.upper)
print(df.head())
把data里面的symbol seqno price变成三列
print(df['data'][0])
空格符分片
print(df['data'][0].split(' '))
去除两边的空格
print(df['data'][0].strip().split(' '))
l = df['data'][0].strip().split(' ')
print(l[1],l[3],l[5])
定义一个函数然后返回,一个Series
def foo(line):
items = line.strip().split(' ')
return Series([items[1],items[3],items[5]])
重新建立一个临时的df_tmp
df_tmp = df['data'].apply(foo)
print(df_tmp.head())
改变一下他的columns
df_tmp = df_tmp.rename(columns={0:'Symbol',1:'Seqno',2:'Price'})
print(df_tmp.head())
删除A和data列,得到新的df_new
df_new = df.combine_first(df_tmp)
del df_new['A']
del df_new['data']
print(df_new.head())
将de_new存入.csv
df_new.to_csv('demo_duplicate.csv')
print(type(df_new))
对数据集进行清洗
再次告诫自己写博客不要怕麻烦…写详细点否则后面看不懂
首先引入相关包
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
首先读入一个数据文件并且查看
df = pd.read_csv('demo_duplicate.csv')
print(df)
结果
查看一下size
print(df.size)
unique():返回参数数组中所有不同的值,并按照从小到大排序
查看一下df[‘Seqno’]中有多少独特的值,结果是有1000值
print(df['Seqno'].unique())#产生一个array
print(len(df['Seqno'].unique()))
进行去重,如果一个数据在该列中第一次出现则返回True
print(df['Seqno'].unique())
将重复的数据删除,默认返回的是重复数据’第一个’数据
print(df['Seqno'].drop_duplicates())
如果我们想保留重复数据的最后一行
print(df.drop_duplicates(['Seqno'],keep='last'))