Pandas库之DataFrame使用的学习笔记
1. 什么是Pandas DataFrame
Pandas DataFrame是一个二维表格数据结构,可以存储不同类型的列,并提供了多种操作方式。可以将DataFrame看作是一个Excel表格,它有行和列,每列可以存储不同类型的数据,比如整数、浮点数、字符串等。
2. 如何创建DataFrame对象
可以通过多种方式创建DataFrame对象,比如从CSV文件中读取数据、从字典中创建、从numpy数组中创建等。
2.1 从CSV文件中读取数据
可以使用Pandas的read_csv方法读取CSV文件中的数据,返回一个DataFrame对象。
import pandas as pd
df = pd.read_csv("data.csv")
print(df)
2.2 从字典中创建DataFrame对象
可以使用一个字典来创建DataFrame对象,字典的key表示列名,value表示对应列的数据。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 25, 30]}
df = pd.DataFrame(data)
print(df)
输出结果如下:
name age
0 Alice 20
1 Bob 25
2 Charlie 30
3. 如何操作DataFrame对象
Pandas提供了多种方式操作DataFrame对象,比如选择子集、添加列、删除列等。
3.1 选择子集
可以使用[]
操作符选择DataFrame对象的子集,也可以使用loc
和iloc
方法选择子集。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 25, 30]}
df = pd.DataFrame(data)
# 使用[]选择子集
print(df['name']) # 选择name列
print(df[0:2]) # 选择前两行
print(df[['name', 'age']]) # 选择name和age两列
# 使用loc选择子集
print(df.loc[0]) # 选择第一行
print(df.loc[[0,2]]) # 选择第一行和第三行
print(df.loc[0:2, 'name']) # 选择前三行的name列
# 使用iloc选择子集
print(df.iloc[0]) # 选择第一行
print(df.iloc[[0,2]]) # 选择第一行和第三行
print(df.iloc[0:2, 0]) # 选择前两行的第一列
3.2 添加列
可以使用[]
操作符添加列,也可以使用loc
方法。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 25, 30]}
df = pd.DataFrame(data)
# 使用[]添加列
df['gender'] = ['F', 'M', 'M']
print(df)
# 使用loc添加列
df.loc[:,'score'] = [80, 90, 85]
print(df)
3.3 删除列
可以使用drop
方法删除列。
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 25, 30], 'gender': ['F', 'M', 'M'], 'score': [80, 90, 85]}
df = pd.DataFrame(data)
# 删除列
df = df.drop(['gender'], axis=1)
print(df)
4. 示例
下面是一个使用DataFrame对象处理销售数据的示例。
import pandas as pd
# 读取CSV文件
sales_data = pd.read_csv("sales.csv")
# 显示前5行
print(sales_data.head())
# 按照国家分组,计算总销售额
grouped_data = sales_data.groupby(['country'])['sales'].sum()
print(grouped_data)
# 显示销售额排名前5的国家
top_5_data = grouped_data.sort_values(ascending=False).head(5)
print(top_5_data)
# 将销售数据按照地区和日期分组,计算平均销售额
grouped_data = sales_data.groupby(['region', 'date'])['sales'].mean()
print(grouped_data.head())
# 添加新列
sales_data['profit'] = sales_data['sales'] * 0.2
# 删除列
sales_data = sales_data.drop(['date'], axis=1)
print(sales_data.head())
5. 总结
本篇笔记介绍了Pandas DataFrame的基本操作,包括创建DataFrame对象、选择子集、添加列、删除列等。虽然本文只列举了一些基本操作,但是Pandas提供的功能非常丰富,可以实现复杂的数据处理任务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas库之DataFrame使用的学习笔记 - Python技术站