pandas学习笔记(二)

import pandas as pd
data = {
    'class':['一班','二班','三班'],
    'student':['小明','小红','小华'],
    'score':[70.0,80.0,90.0],
}
frame = pd.DataFrame(data,    columns=['student','score','class'],index=['老大','老二','老三'])
frame
studentscoreclass
老大小明70.0一班
老二小红80.0二班
老三小华90.0三班
#查看索引对象 索引对象不可变
frame.index
Index(['老大', '老二', '老三'], dtype='object')
#索引可包含重复值
frame2 = pd.DataFrame(range(5),index=['a','b','c','a','c'])
frame2
0
a0
b1
c2
a3
c4
#重建索引,不存在则为空
frame3 = frame.reindex(['老大', '老二', '老三','老四'])
frame3
studentscoreclass
老大小明70.0一班
老二小红80.0二班
老三小华90.0三班
老四NaNNaNNaN
#填充缺失值 ffill向前填充 指定缺失值fill_value=0
frame4 = frame.reindex(['老大', '老二', '老三','老四'],fill_value=0)
frame4
studentscoreclass
老大小明70.0一班
老二小红80.0二班
老三小华90.0三班
老四00.00
#重建列索引
columns = ['学生','分数','class']
frame.reindex(columns=columns)
学生分数class
老大NaNNaN一班
老二NaNNaN二班
老三NaNNaN三班
#删除某行
frame.drop('老三')
studentscoreclass
老大小明70.0一班
老二小红80.0二班
#删除某列
frame.drop('class',axis=1)
studentscore
老大小明70.0
老二小红80.0
老三小华90.0

索引方法loc&iloc

data.loc[行索引名,列索引名]
data.iloc[行数字,列数字] 从0开始

frame.loc['老大','score']
70.0
frame.iloc[2,1]
90.0

函数用法

f = lambda x: x
frame['score'].apply(f)
老大    70.0
老二    80.0
老三    90.0
Name: score, dtype: float64
#排序
frame.sort_index()
studentscoreclass
老三小华90.0三班
老二小红80.0二班
老大小明70.0一班
#根据列名排序,改为降序排序
frame.sort_index(axis=1,ascending=False)
studentscoreclass
老大小明70.0一班
老二小红80.0二班
老三小华90.0三班
#根据值排序
frame.sort_values(by = 'score')
studentscoreclass
老大小明70.0一班
老二小红80.0二班
老三小华90.0三班

描述统计方法

data = {
    'class':['一班','二班','三班'],
    'student':['小明','小红','小华'],
    'score':[70.0,80.0,90.0],
    'age':[5,7,9],
    
}
frame = pd.DataFrame(data, columns=['student','score','class','age'],index=['老大','老二','老三'])
#查看数值类型列汇总统计信息
frame.describe()
scoreage
count3.03.0
mean80.07.0
std10.02.0
min70.05.0
25%75.06.0
50%80.07.0
75%85.08.0
max90.09.0
#查看数据基本信息
frame.info()
<class 'pandas.core.frame.DataFrame'>
Index: 3 entries, 老大 to 老三
Data columns (total 4 columns):
student    3 non-null object
score      3 non-null float64
class      3 non-null object
age        3 non-null int64
dtypes: float64(1), int64(1), object(2)
memory usage: 120.0+ bytes
#计算非NA的个数
frame.count()
student    3
score      3
class      3
age        3
dtype: int64
#连续变量的相关系数
frame.corr()
scoreage
score1.01.0
age1.01.0
#协方差矩阵(cov)
frame.cov()
scoreage
score100.020.0
age20.04.0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值