基础知识
处理数据一般分为几个阶段:数据整理与清洗、数据分析与建模、数据可视化与制表,Pandas与npArrays 是处理数据的理想工具
# 一般引用实例
import pandas as pd
import numpy as np
数据结构
名称 | 描述 |
---|---|
Series | 带标签的一维同构数组 |
DataFrame | pandas常用,带标签的,大小可变的,二维异构表格 |
numpy.ndarray | npArrays常用,带标签的,大小可变的,二维异构表格,下文简称npArrays |
数据格式转换
csv转DataFrame
df = pd.read_csv(path,header=None, encoding="gbk") # header=None,读取时不加表头,默认加表头
DataFrame转csv
# 将数据保存成csv文件
df_name.to_csv(path,sep=',',index=False) # index=False不加序列号
list转DataFrame
# df中添加一列
DataFrame['表头名'] = List # List为一维列表,最后为一列值
# 将多行列表转为df
c={"列名1": ls_1,"列名2": ls_2}
df = pd.DataFrame(c,columns=['列名1', '列名2']) #指定列名为name和id,顺序name先,id后
DataFrame转list
首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list
# 表头内容都提取
data = np.array(df).tolist()
# df.as_matrix指定取某些列
data=df.as_matrix(['表头名','表头名']).tolist()
# 以列为单位提取
data=df.values.tolist()
Series转DataFrame
# 将Series转换为DataFrame
dict_name = {'表头名': Series.values}
df = pd.DataFrame(dict_name)
npArrays转DataFrame
df = pd.DataFrame(npArrays,columns=['表头名'],index=None) # npArrays转DataFrame
DataFrame转npArrays
df = pd.read_csv("data.csv")
data_np = np.array(df)
list转npArrays
npArrays = np.array(List)
npArrays转list
List = npArrays.tolist()
处理数据
提取df数据
column_headers = list(df.columns.values) # 有表头时将表头提取出来,并转化为npArrays
data = df.values # 将df的值提取出来,以npArrays形式返回
处理NAN值(空缺或无穷小浮点数)
df.dropna(inplace=True) # 去除空缺行
df.fillna(x,inplace = True) # 用x替换nan值
print(np.isnan(df).any()) # 打印出每行是否存在nan值
DataFrame上下拼接
df = pd.concat([df_1, df_2])
删除一列
df_del = df.drop("表头名", 1)
npArrays转置
npArrays_T = npArrays.transpose()
保存数据
# 将npArrays数据保存为csv
np.savetxt("文件名.csv", npArrays,delimiter=',', fmt='%s')
# 将DataFrame数据保存为csv
df.to_csv(path,sep=',',index=False) # index=False不加序列号
Tips:会不断更新完善