# -*- coding: utf-8 -*-
# author:zjp
import numpy as np
import pandas as pd
df1 = pd.DataFrame(pd.read_csv('E://azjp/data/example1.csv', header=0))
#DataFrame 的D和F要大写,header=0 指定列名所在行数
df2 = pd.DataFrame(pd.read_excel('E://azjp/data/example1.xlsx'))
array = np.random.permutation(20) #生成随机数列表
#df1.to_csv("D://df_test.csv", index=False) #保存CSV文件,index=False表示不保存索引
df1.columns #查看列名
df1.values #查看数据表中的数值,以数组的形式返回,不包含表头信息
print(df1.info()) #查看数据表的整体信息,这里返回的信息比较多,包括数据维度、列名称、数据格式和所占空间等信息
'''
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 19 entries, 0 to 18
Data columns (total 7 columns):
分子公司 19 non-null object
片区 19 non-null object
服务站 19 non-null object
工程师 19 non-null float64
主任 19 non-null float64
新员工 19 non-null int64
总计 19 non-null float64
dtypes: float64(3), int64(1), object(3)
memory usage: 876.0+ bytes
'''
df1.describe() # 描述性统计(最大值最小值等等)
df1.head(3) # 查看前三条数据
df1.tail(3) # 查看后三条数据
df1a = df1.loc[((df1['engineer'] > 100) & (df1['director'] > 100)), :] #条件判断与条件组合
df1['engineer'].dtype #查看数据格式的函数,可以一次性查看数据表中所有数据的格式,也可以指定一列来单独查看
df1['engineer'].isnull() #检验空值的函数,返回的结果是逻辑值,包含空值返回True,不包含则返回False
df1['片区'].unique() #Unique是查看唯一值的函数,只能对数据表中的特定列进行检查,返回的结果是该列中的唯一值
df1b = df1.dropna(how='any') #删除有NA的样本
df1c = df1.fillna(value=0) #0替换NA值
df1d = df1.fillna(df1['newemployees'].mean()) #该列的平均值替换NA
df1['engineer'] = df1['engineer'].map(str.strp) # 清除字符串里的空格
df1['engineer'].astype(int) #用来更改数据格式,将engineer字段的值修改为int格式
df1.rename(columns={'engineer': 'engineers'})
df1['engineer'].drop_duplicates(keep='last') #删除重复值,设置keep='last'保留最后出现的重复值
df1['engineer'].replace('asd', 'brg') #用brg替换asd