【Python数据分析】pandas 基本操作

0 构建数据集

# 构建数据集
import pandas as pd
import numpy as np

N = 20

dataset = pd.DataFrame({
    'name': ['张三', '夏四', '赵五', '周六'],
    'age': [18, 26, 70, 42],
    'Chinese': [88, 62, 67, 99],
    'Math': [65, 96, 100, 23],
    'Province': ['JS', 'JB', 'JL', 'JX']'Sex': ['M', 'M', 'F', 'F']
    })

# 显示前五行
pd.set_option('display.max_columns', None)
print(dataset.head())

在这里插入图片描述

1 基本属性

# 获取所有元素的值 【返回Numpy数组】
dataset.values  

# 获取数据类型
dataset.dtypes

# 获取行名
dataset.index #【返回Index类型对象】
dataset.index.tolist()  #【返回list对象】

# 获取列名
dataset.columns #【返回Index类型对象】
dataset.columns.tolist()  #【返回list对象】

# 对列进行重命名
dataset.columns = ['姓名', '年龄', '语文', '数学', '籍贯', '性别']

# 查看df前n条数据, 默认5条
df.head(n)

# 查看df后n条数据, 默认5条
df.tail(n)

# 随机查看n条数据
df.sample(n)

# 查看行数和列数
df.shape()

# 查看索引,数据类型和内存信息
df.info()

2 索引

总结:
通常情况下,使用lociloc索引,如果索引结果为一维,则返回Series对象;如果索引结果为二维,则返回Dataframe对象;

## 位置索引

# 获取第一行第四列的元素 【返回python对象】
dataset.iloc[0, 4]

# 获取第二行,第三、第四列的元素
# 注意:同python,最后一个元素不取
dataset.iloc[1, 2:4] #【返回Series对象】

# 获取第三、四行,第一到第四列的元素
dataset.iloc[2:4, 0:4] #【返回DataFrame对象】


## 自定义索引

# 获取Math列 
dataset['Math'] #【返回Series】 或
dataset[['Math']] #【返回DataFrame】 或
dataset.loc[:, 'Math'] #【返回Series】

# 获取Math, Chinese列
dataset[['Math', 'Chinese']] #【返回DataFrame】 或
dataset.loc[:, ['Math', 'Chinese']] #【返回DataFrame】

# 获取序号为1的学生的信息 
# 注意:此处是序号为1,而不是第1个
dataset.loc[1, :] #【返回Series】

# 获取序号为3的学生的性别
dataset.loc[3, 'Sex'] #【返回Python 对象】

3 判断选择

# 判断是否有来自JX省的
# 注意:后面应该加上.values!!!
'JX' in dataset['Province'].values

# 获取性别为M的学生的名字
dataset.loc[dataset['Sex'] == 'M', 'name']

# 获取家乡来自'JB'和'JX'的学生的年龄和性别
dataset.loc[dataset['Province'].isin(['JB', 'JX']), ['age', 'Sex']]

4 数据转换

# 将Series转换为list
dataset['Province'].tolist()

5 参考文献

  1. https://zhuanlan.zhihu.com/p/29665562
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值