1. DataFrame简介
DataFrame是pandas库中的一个重要数据结构,类似于Excel中的二维表格,可以存储不同类型的数据,并且提供了强大的数据处理和分析功能。在这篇文章中,我们将学习DataFrame的基础操作。
2. 创建DataFrame
2.1 使用字典创建DataFrame
可以使用字典来创建DataFrame,字典的每个键值对表示DataFrame的一列。下面是一个示例:
import pandas as pd
data = {'Name': ['Tom', 'John', 'Alice'],
'Age': [25, 28, 32],
'Country': ['USA', 'UK', 'Canada']}
df = pd.DataFrame(data)
print(df)
输出结果:
Name Age Country
0 Tom 25 USA
1 John 28 UK
2 Alice 32 Canada
通过字典的键作为列名,值作为列的数据构建了一个DataFrame。
2.2 使用列表创建DataFrame
除了字典,还可以使用列表创建DataFrame,每个列表表示DataFrame的一行。下面是一个示例:
data = [['Tom', 25, 'USA'], ['John', 28, 'UK'], ['Alice', 32, 'Canada']]
df = pd.DataFrame(data, columns=['Name', 'Age', 'Country'])
print(df)
输出结果与前面的示例相同。
3. 数据访问和操作
3.1 访问列和行
可以使用列名来访问DataFrame的某一列:
names = df['Name']
print(names)
输出结果:
0 Tom
1 John
2 Alice
Name: Name, dtype: object
可以使用iloc方法来访问DataFrame的某一行:
row = df.iloc[0]
print(row)
输出结果:
Name Tom
Age 25
Country USA
Name: 0, dtype: object
3.2 添加一列
可以使用赋值运算符来给DataFrame添加一列:
df['Gender'] = ['M', 'M', 'F']
print(df)
输出结果:
Name Age Country Gender
0 Tom 25 USA M
1 John 28 UK M
2 Alice 32 Canada F
3.3 删除一列
可以使用drop方法来删除DataFrame的一列:
df = df.drop('Gender', axis=1)
print(df)
输出结果:
Name Age Country
0 Tom 25 USA
1 John 28 UK
2 Alice 32 Canada
4. 数据过滤和选择
4.1 根据条件过滤
可以使用条件表达式来过滤DataFrame的数据。下面是一个示例:
filtered_df = df[df['Age'] > 25]
print(filtered_df)
输出结果:
Name Age Country
1 John 28 UK
2 Alice 32 Canada
以上代码中,我们使用了列名Age进行了条件过滤,筛选出年龄大于25的行。
4.2 使用iloc选择行和列
可以使用iloc方法来选择DataFrame的特定行和列。
例如,选择第一行的前两列:
subset = df.iloc[0, :2]
print(subset)
输出结果:
Name Tom
Age 25
Name: 0, dtype: object
以上代码中,使用了0表示第一行,:2表示前两列。
5. 数据统计和计算
5.1 基本统计函数
DataFrame提供了许多统计函数来计算数据的基本统计量,如均值、最小值、最大值、中位数、标准差等。下面是一些示例:
mean_age = df['Age'].mean()
print('Mean Age:', mean_age)
min_age = df['Age'].min()
print('Minimum Age:', min_age)
max_age = df['Age'].max()
print('Maximum Age:', max_age)
median_age = df['Age'].median()
print('Median Age:', median_age)
std_age = df['Age'].std()
print('Standard Deviation:', std_age)
输出结果:
Mean Age: 28.333333333333332
Minimum Age: 25
Maximum Age: 32
Median Age: 28.0
Standard Deviation: 3.0550504633038935
5.2 自定义统计函数
除了内置的统计函数,我们还可以自定义统计函数来处理数据。下面是一个示例,计算年龄大于30岁的人数:
def count_people(row):
if row['Age'] > 30:
return 1
else:
return 0
count = df.apply(count_people, axis=1).sum()
print('Number of people older than 30:', count)
输出结果:
Number of people older than 30: 1
以上代码中,我们定义了一个count_people函数,根据年龄是否大于30返回0或1,然后使用apply方法在DataFrame的每一行上应用该函数。
总结
本文介绍了DataFrame的基础操作,包括创建DataFrame、数据访问和操作、数据过滤和选择、数据统计和计算等。熟练掌握这些操作对于进行数据处理和分析非常重要,希望本文能对读者有所帮助。