简介:Pandas是一个强大的Python数据分析库,而DataFrame是Pandas的核心数据结构。本教程将通过图解的方式,帮助你快速理解并掌握DataFrame的基本操作。
Pandas是一个强大的Python数据分析库,而DataFrame是Pandas的核心数据结构。DataFrame既有行标签(index),又有列标签(columns),它也被称异构数据表,所谓异构,指的是表格中每列的数据类型可以不同,比如可以是字符串、整型或者浮点型等。
一、创建空的DataFrame对象
使用下列方式创建一个空的DataFrame,这是DataFrame最基本的创建方法:
import pandas as pddf = pd.DataFrame()print(df)
输出结果如下:
Empty DataFrameColumns: []Index: []
二、使用列表创建DataFrame对象
可以使用单一列表或嵌套列表来创建一个DataFrame。例如:
import pandas as pddata = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}df = pd.DataFrame(data)print(df)
输出结果如下:
name age gender0 Alice 25 F1 Bob 30 M2 Charlie 35 M
在上述代码中,我们首先定义了一个字典data,其中包含了三个键值对,分别表示姓名、年龄和性别。然后,我们将这个字典传递给pd.DataFrame()函数,创建了一个新的DataFrame对象。最后,我们打印出这个DataFrame,可以看到它包含了三列数据,分别是姓名、年龄和性别。每列数据的标签就是我们字典中的键。
三、DataFrame的基本操作
read_csv()函数从CSV文件中读取数据到DataFrame对象中。例如:
import pandas as pddf = pd.read_csv('data.csv')print(df)
python
df['age'][0] = 26 # 将第一行的年龄改为26
df['gender'].iloc[0] = 'M' # 将第一行的性别改为男
df['score'] = [85, 90, 95] # 添加一列分数,并赋值为85、90、95
df['new_column'] = df['age'] * 2 # 添加一列新列,值为年龄的两倍(这里假设年龄列存在)
df.loc[1, 'score'] = 92 # 修改第二行的分数为92
df.loc[2, 'new_column'] = df.loc[2, 'age'] * 3 # 修改第三行的新列为年龄的三倍(这里假设年龄列存在)pythondrop()函数删除DataFrame中的行或列。例如:
df = df.drop(columns=['age']) # 删除名为'age'的列df = df.drop(index=[0]) # 删除第一行df = df.drop(index=[0, 1]) # 删除第一行和第二行
groupby()函数对数据进行分组和聚合。例如:
grouped = df.groupby('gender') # 按性别分组mean_age = grouped['age'].mean() # 计算每个性别的平均年龄
sort_values()函数对数据进行排序。例如:
sorted_df = df.sort_values(by='age') # 按年龄升序排序sorted_df = df.sort_values(by='age', ascending=False) # 按年龄降序排序
loc[]和iloc[]函数对数据进行筛选。例如: