创建DateFrame,基础属性,整体情况查询,按某列进行排序,取行或取列,布尔索引,字符串方法,缺失数据的处理,常用统计方法,分组和聚合,索引和复合索引

  创建DateFrame二维,Series容器

import pandas as pd
t1 = pd.DataFrame(数组,index)
t2 = pd.DataFrame(字典)

如果索引没有对应的值就会自动为NaN,同时类型会为float型
import pandas as pd
import numpy as np
t1 = pd.DataFrame(np.arange(12).reshape((3,4)))
print(t1)

   0  1   2   3
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
import pandas as pd
a = {'age':[18,20], 'name':['xiao','ming'],'class':[3,6]}
t1 = pd.DataFrame(a)
print(t1)

   age  name  class
0   18  xiao      3
1   20  ming      6

基础属性

df.shape    # 行数 列数
df.dtypes    # 列数据类型
df.ndim    # 数据维度
df.index    # 行索引
df.colums    # 列索引
df.values    # 对象值,二维nadrray数组

整体情况查询

df.head(3)    # 显示头部几行,默认5行
df.tail(3)    # 显示末尾几行,默认5行
df.info()    # 相关信息概览,行数,列数,列索引,列非空值个数,行类型,列类型,内存占用
df.describe()    # 快速综合统计结果:计数,均值,标准差,最大值,四分位数,最小值

 按某列进行排序

import pandas as pd
a = pd.read_csv('data.csv')
t1 = pd.DataFrame(a)
t1 = t1.sort_values(by='差评',ascending=False)

by为排序列字段
ascending为排序方式,Flase为降序,True为升序,默认为True
import pandas as pd
a = pd.read_csv('data.csv')
t1 = pd.DataFrame(a)
t1 = t1.sort_values(by='差评',ascending=False)
print(t1)

         票房      喜欢    评论     差评
12  4394028  320053  5931  96245
9   4394028  320053  5931  86245
10  4394028  320053  5931  86245
11  4394028  320053  5931  86245
8   4394028  320053  5931  76245
6   4394028  320053  5931  66245
7   4394028  320053  5931  66245
5   4394028  320053  5931  56245
13  4394028  320053  5931  46245
17  4394028  320053  5931  46245
16  4394028  320053  5931  46245
15  4394028  320053  5931  46245
14  4394028  320053  5931  46245
18  4394028  320053  5931  46245
4   2394028  320053  5931  46245
3   2394028  320053  5931  46245
2   2394028  320053  5931  46245
1   8394028  320053  5931  36245
0   1394028  320053  5931  26245

取行或取列

import pandas as pd
a = pd.read_csv('data.csv')
t1 = pd.DataFrame(a)
print(t1)
print(t1[:5])   # 取前五行
print(t1['票房'])   # 取票房字段列

注意点:
方括号写数组代表取行
写字符串表示去列索引

loc通过标签索引行数据
t1.loc[[0,1]]    # 第一,二行所有列
print(t1.loc[:,'喜欢'])    # 喜欢字段列的所有行
print(t1.loc[[0,1],['喜欢']])    # 一二行的喜欢字段列

iloc通过位置获取行数据
t1.iloc[1,:]    # 第二行的所有列
t1.iloc[:,2]    # 第三列的所有行
t1.iloc[:,[2,1]]    # 第三,二列的所有行
t1.iloc[[0,2],[2,1]]    # 第一,三行的三,二列

布尔索引

import pandas as pd
a = pd.read_csv('data.csv')
print(a[a['喜欢']>100])    # a中列字段为喜欢,数值大于100
print(a[(10010000)])    # a中列字段为细化,数值大于10000或小于10000

字符串方法

创建DateFrame,基础属性,整体情况查询,按某列进行排序,取行或取列,布尔索引,字符串方法,缺失数据的处理,常用统计方法,分组和聚合,索引和复合索引_第1张图片

 缺失数据的处理

判断数据是否为NaN
pd.isnull(df)
pd.notnull(df)

处理方式:
删除NaN所在的行列
dropna(axis=0,how='any',inplace=False)
axis=0为按行删除axis=1为按列删除,默认按行
how='any'为有一个NaN即删除,how='all'为所有值为NaN才删除默认为any
inplace=False为删除后不改变本身,True为改变本身,默认为False

填充数据(将NaN替换)
t.fillna(t.mean())
t.fillna(t.median())
t.fillna(0)

处理为0的数据
t[t==0]=np.nan

常用统计方法

.mean()    # 平均值
.max()    # 最大值
.min()    # 最小值

分组和聚合

.grouby(by="字段名")    按字段名进行分组

count 分组中非NA值的数量
sum    非NA值的和
mean    非NA值的平均值
median    非NA值的算数中位数
std、var    无偏(分母为n-1)标准差和方差
min、max    非NA值的最小值和最大值

索引和复合索引

df.index    获取index
df.index=['x','y']    指定index
df.reindex(list('abcdef'))重新设置index
df.set_index("Country",drop=False)    指定某一列作为index
df.set_index("Country").index.unique()    返回index的唯一值

你可能感兴趣的:(python,深度学习,python,机器学习)