下面是Pandas中DataFrame的常用用法分享的完整攻略。
一、Pandas简介
Pandas是Python数据处理的重要工具之一,它提供了快速、灵活、富有表现力的数据结构,使得数据分析处理变得更加简单。
二、DataFrame的定义
在Pandas中,DataFrame是一种二维的表格型数据结构。它包含了一组有序的列,每列可以是不同的值类型。其中一个列可以被看做是一个Series,它可以使用不同类型来构建。DataFrame既有行索引,也有列索引,它可以被看做是由Series组成的字典。
三、DataFrame的常用用法
1. 创建DataFrame
使用Pandas,我们可以通过许多方式来创建DataFrame,其中一种常用的是通过字典创建,例如:
import pandas as pd
# 创建字典
data = {'name': ['张三', '李四', '王五', '赵六'], 'age': [18, 20, 22, 24], 'gender': ['男', '女', '男', '女']}
# 将字典转为DataFrame
df = pd.DataFrame(data)
print(df)
运行结果如下:
name age gender
0 张三 18 男
1 李四 20 女
2 王五 22 男
3 赵六 24 女
2. DataFrame的读写
Pandas提供了多种方式来读写数据,其中较为常用的方式有Excel、CSV、SQL等。例如通过CSV文件来读取数据:
import pandas as pd
# 从csv文件读取数据
df = pd.read_csv('data.csv', header=0, index_col=0)
# 显示数据
print(df)
其中header
指定了数据集的列名,index_col
指定了索引列。运行结果如下:
name age gender
id
1 张三 18 男
2 李四 20 女
3 王五 22 男
4 赵六 24 女
3. DataFrame的基本信息查询
对于DataFrame,有一些基本的信息可以直接进行查询,例如:
- 获取前几行/后几行:
# 获取前2行
print(df.head(2))
# 获取后2行
print(df.tail(2))
- 获取数据集的形状:
# 获取形状
print(df.shape)
- 获取数据集的列名:
# 获取列名
print(df.columns)
- 获取数据类型:
# 获取数据类型
print(df.dtypes)
4. DataFrame的筛选数据
在Pandas中,我们可以通过多种方式来筛选数据。例如,我们可以通过列名来获取对应列的数据:
# 获取name列的数据
print(df['name'])
输出结果为:
id
1 张三
2 李四
3 王五
4 赵六
Name: name, dtype: object
同时,我们可以通过多种条件来筛选符合要求的数据:
# 获取满足条件的数据
print(df[(df['gender'] == '男') & (df['age'] > 20)])
输出结果如下:
name age gender
3 王五 22 男
5. DataFrame的计算
在Pandas中,我们可以进行一系列的计算操作。例如,我们可以计算每列数据的平均值:
# 计算每列数据的平均值
print(df.mean())
输出结果为:
age 21.0
dtype: float64
四、示例说明
示例1
例如,我们有一个包含多条股票数据的DataFrame,并且其中包含股票的代码、日期、开盘价、收盘价、最高价、最低价等各个信息。我们想要计算这些股票在这段时间内的收益率,如何完成这个任务?
# 创建数据
stock_data = pd.DataFrame({
'code': ['000001', '000002'],
'date': ['2022-02-01', '2022-02-02', '2022-02-03'],
'open': [10.0, 20.0, 15.0,],
'close': [12.0, 22.0, 14.0],
'high': [15.0, 25.0, 20.0],
'low': [9.0, 18.0, 13.0]
})
# 计算收益率
stock_data['rate'] = (stock_data['close'] - stock_data['open']) / stock_data['open']
print(stock_data)
输出结果如下:
code date open close high low rate
0 000001 2022-02-01 10.0 12.0 15.0 9.0 0.2
1 000002 2022-02-02 20.0 22.0 25.0 18.0 0.1
2 000001 2022-02-03 15.0 14.0 20.0 13.0 -0.0666
示例2
Pandas中DataFrame还提供了数据的排序和合并等方法。例如我们有两个包含各种学生信息的DataFrame,现在我们需要对其按照成绩将两个数据集合并成一个。
# 创建两个DataFrame
df1 = pd.DataFrame({
'id': ['101', '102', '103'],
'name': ['张三', '李四', '王五'],
'score': [85, 98, 80]
})
df2 = pd.DataFrame({
'id': ['101', '102', '103'],
'name': ['张三', '李四', '王五'],
'score': [78, 81, 88]
})
# 合并两个DataFrame并根据成绩排序
result = pd.concat([df1, df2])
result = result.sort_values(by='score', ascending=False)
print(result)
输出结果如下:
id name score
1 102 李四 98
2 103 王五 88
0 101 张三 85
1 102 李四 81
0 101 张三 78
2 103 王五 80
五、总结
通过上述的示例代码,我们可以看到Pandas中DataFrame的基本用法和特点。DataFrame提供了丰富的数据处理方法,可以快速对数据进行处理和分析。在Python数据分析领域中,它也是一种非常常用的工具。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas中DataFrame的常用用法分享 - Python技术站