int.a的python学习笔记_人工智能pandas201

1、read_csv 读取文件

a = pd.read_csv(‘文件名’)

2、数据类型、内容读取

type(a)

打印a的类型

a.dtypes

打印a每一列里的数据的数据类型

a.head()

以表格的形式打印文件里的内容
a.head()显示前几行,a.tail()显示后几行
a.head(3)显示前3行

a.columns

a.columns获取每一列的列名,
a.columns.tolist()以列表的形式打印

a.shape

a.shape获取有多少行多少列

a.loc[0]

a.loc[0] 取第一行的数据(第一个标本的数据),切片也可以用,例;a.loc[1:2]
a.loc[3,‘name’] 取第三个标本name的值

a[‘列名’]

a[‘列名’],
a[‘列名1’,‘列名2’],
获取该列名下所有数据,

3、columns.tolist() 取某一列的数据

#取以g为结尾的列
aa = a.columns.tolist()
aa_1 = []
for i in aa:
if i.endswith(’(g)’): # 选取带有(g)的列名
aa_1.append(i)
aa_2 = a[aa_1]
print(aa_2.head(3)) # 取前3列打印

4、数据计算、取值、排序

a[‘列名’] * 10

将某列的数据*10

a[‘列名’].max()

求某列的最大值,同样的还可以.min()等

a.sort_values(‘列名’,inplace=True)

按照某列里的值从小到大排列a,如果为空值放最后
inplace=False,表示生成新的不对原来的a进行改变
a.sort_values(‘某列’,inplace=True,ascending=False)从大到小排列

a.reset_index(drop=True)

重新开始a的索引值

5、 a[‘列名’] = [新列] 插入新的列

a_1 = ( a[‘p(g)’] * a[‘o(g)’] ) /2
a[‘op(g)’] = a_1 # 插入了一个新列op(g),其值为a_1里的值
print(a)

6、缺失值

pandas.isnull(a[‘列名’]) 检查缺失值

a_null = pd.isnull(a[‘age’])
#检测缺失值,有值返回false,缺失值返回true
print(a_null)
a_NAN = a[‘age’][a_null]
#找到a[‘age’]中的缺失值
print(len(a_NAN))
#输出缺失值个数

a.dropna(axis=1)丢掉缺失值

a_nonull = a.dropna(axis=1)
#丢掉缺失值,a.dropna(axis=1)丢掉所有缺失值
a_nonull1 = a.dropna(axis=0,subset=[‘age’,‘p(g)’])
#丢掉’age’,'p(g)'中的缺失值

7、pivot_table求平均值

#求age的平均数
c_age = a[‘age’][a_null == False]
#把缺失值变成False,方便计算,缺失值无法计算
print( sum(c_age) / len(c_age))
#age的平均值

#求age的平均数另一种方法
print(a[‘age’].mean())
#.mean()可以自动省略缺失值然后求平均数

#分类求平均值示例 : 用数据里的loor作为分类标准,求没一类的t(kg)平均值
#第一种
loor = [1,2,3,4,5]
p_loor = {}
for the_loor in loor:
a_rows = a[a[‘loor’] == the_loor]
#循环 the_loor=1,2…时对应a[‘loor’]的值
l_tkg = a_rows[‘t(kg)’].mean()
#找到a[‘loor’]对应a[‘t(kg)’]的平均值
p_loor[the_loor] = l_tkg
#把l_tkg 里的值存到 p_loor[the_loor]
print(p_loor)
#第二种
p_loor1 = a.pivot_table(index=‘loor’,values=‘t(kg)’,aggfunc=np.mean)
#pivot_table统计两个量关系的函数
#index 以谁为基准,values需要计算的值,aggfunc计算方式
print(p_loor1)
p_loor2 = a.pivot_table(index=‘loor’,values=‘t(kg)’)
#没有最后一个值,默认算平均数
print(p_loor2)
p_loor3 = a.pivot_table(index=‘loor’,values=[‘t(kg)’,‘o(g)’],aggfunc=np.sum)
print(p_loor3)

8、apply自定义函数

def row_5(m): #取第5个数值
item_5 = m.loc[4]
return item_5
aa = a.apply(row_5)
#apply可以传入函数名,apply里面还可以有axis=?,表示传入函数的值,传入值为a本身的时候不用写

# coding=gbk
import pandas as pd
import numpy as np

a = pd.read_csv('041、pandas.csv')     # 读取csv文件

print(type(a))                         # 打印a的类型
print(a.dtypes)                        # 打印a每一列里的数据的数据类型
print(a.head())                        # 以表格的形式打印文件里的内容
                                       # a.head()显示前几行,a.tail()显示后几行
                                       # a.head(3)显示前3行
print(a.columns)                       # a.columns获取每一列的列名,a.columns.tolist()以列表的形式打印
print(a.shape)                         # a.shape获取有多少行多少列
print(a.loc[0])                        # a.loc[0]取第一行的数据(第一个标本的数据),切片也可以用,例;a.loc[1:2]
print(a.loc[3,'name'])                 # 取第三个标本name的值
print(a['name'])                       # a['列名'],获取该列名下所有数据,a['列名','列名']

# 取以g为结尾的列
aa = a.columns.tolist()
aa_1 = []
for i in aa:
    if i.endswith('(g)'):             #  选取带有(g)的列名
        aa_1.append(i)
aa_2 = a[aa_1]
print(aa_2.head(3))                  #  取前3列打印

#数据计算、取值、排序
print(a['o(g)'] * 10)                # 将o(g)列的数据*10
print(a['o(g)'].max())               # 求o(g)列的最大值
a.sort_values('o(g)',inplace=True)   # 按照o(g)里的值从小到大排列a,如果为空值放最后
                                     #inplace=False,表示生成新的不对原来的a进行改变
                                     #a.sort_values('o(g)',inplace=True,ascending=False)从大到小排列
print(a)
print(a['o(g)'])
# a.reset_index(drop=True)             #重新开始a的索引值


#插入新的列
a_1 = ( a['p(g)'] * a['o(g)'] ) /2
a['op(g)'] = a_1                     # 插入了一个新列op(g),其值为a_1里的值
print(a)

#检查缺失值
a_null = pd.isnull(a['age'])            # 检测缺失值,有值返回false,缺失值返回true
print(a_null)
a_NAN = a['age'][a_null]                # 找到a['age']中的缺失值
print(len(a_NAN))                       # 输出缺失值个数
#丢掉缺失值
a_nonull = a.dropna(axis=1)            # 丢掉缺失值,a.dropna(axis=1)丢掉所有缺失值
a_nonull1 = a.dropna(axis=0,subset=['age','p(g)'])#丢掉'age','p(g)'中的缺失值

#求age的平均数
c_age = a['age'][a_null == False]       # 把缺失值变成False,方便计算,缺失值无法计算
print( sum(c_age) / len(c_age))         # age的平均值

#求age的平均数另一种方法
print(a['age'].mean())                  # .mean()可以自动省略缺失值然后求平均数

#分类求平均值示例 : 用数据里的loor作为分类标准,求没一类的t(kg)平均值
#第一种
loor = [1,2,3,4,5]
p_loor = {}
for the_loor in loor:
    a_rows = a[a['loor'] == the_loor]   # 循环 the_loor=1,2..时对应a['loor']的值
    l_tkg = a_rows['t(kg)'].mean()      # 找到a['loor']对应a['t(kg)']的平均值
    p_loor[the_loor] = l_tkg            # 把l_tkg 里的值存到 p_loor[the_loor]
print(p_loor)
#第二种
p_loor1 = a.pivot_table(index='loor',values='t(kg)',aggfunc=np.mean)
                                        # pivot_table统计两个量关系的函数
                                        # index 以谁为基准,values需要计算的值,aggfunc计算方式
print(p_loor1)
p_loor2 = a.pivot_table(index='loor',values='t(kg)')  # 没有最后一个值,默认算平均数
print(p_loor2)
p_loor3 = a.pivot_table(index='loor',values=['t(kg)','o(g)'],aggfunc=np.sum)
print(p_loor3)

# 自定义函数
def row_5(m):          # 取第5个数值
    item_5 = m.loc[4]
    return item_5
aa = a.apply(row_5)    # apply可以传入函数名,apply里面还可以有axis=?,表示传入函数的值,传入值为a本身的时候不用写
print(aa)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值