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 索引
总结:
通常情况下,使用loc
和iloc
索引,如果索引结果为一维,则返回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()