Pandas-DataFrame知识点汇总
什么是DataFrame
DataFrame是Pandas中最强大的数据结构之一。它可以看作是由Series组成的表格。DataFrame中的每列称为一个Series,而行则表示表格中的观察。以下是创建DataFrame的一种方法:
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'occupation': ['student', 'engineer', 'salesman', 'artist']
}
df = pd.DataFrame(data)
print(df)
输出结果:
name age occupation
0 Alice 25 student
1 Bob 32 engineer
2 Charlie 18 salesman
3 David 47 artist
DataFrame的基本操作
选择子集
您可以使用.loc方法选择DataFrame的子集。
# 选择一列
print(df.loc[:, 'name'])
# 选择多列
print(df.loc[:, ['name', 'age']])
# 选择多行
print(df.loc[0:2, :])
# 选择满足条件的行
print(df[df['age'] > 30])
输出结果:
0 Alice
1 Bob
2 Charlie
3 David
Name: name, dtype: object
name age
0 Alice 25
1 Bob 32
2 Charlie 18
3 David 47
name age occupation
0 Alice 25 student
1 Bob 32 engineer
2 Charlie 18 salesman
name age occupation
1 Bob 32 engineer
3 David 47 artist
新加一列
可以使用下面的方法给DataFrame添加新的一列:
df['gender'] = ['F', 'M', 'M', 'M']
print(df)
输出结果:
name age occupation gender
0 Alice 25 student F
1 Bob 32 engineer M
2 Charlie 18 salesman M
3 David 47 artist M
实例说明
示例1:统计和绘图
假设您有一个保存有每个城市人口数据的DataFrame,您可以使用DataFrame的统计和绘图功能计算和可视化各个城市的人口数据。
import pandas as pd
import matplotlib.pyplot as plt
# 读取人口数据
pop = pd.read_csv('populations.csv')
# 计算各个城市的总人口
pop_by_city = pop.groupby('City')['Population'].sum()
# 绘制柱状图
pop_by_city.plot(kind='bar')
plt.xlabel('City')
plt.ylabel('Population')
plt.show()
示例2:简单的数据清理
假设您有一个保存有学生成绩数据的DataFrame。您可以使用DataFrame的数据清理功能,消除噪声并填充缺失值。
import pandas as pd
# 读取成绩数据
scores = pd.read_csv('scores.csv')
# 删除成绩为负数的行
scores = scores[scores['score'] >= 0]
# 填充缺失值
scores = scores.fillna({'name': 'Unknown', 'age': 0})
结论
这里只是介绍了一些DataFrame的基本用法。DataFrame提供了更多的数据操作功能,如合并、分组、透视等。可以通过阅读Pandas文档来了解更多。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas-DataFrame知识点汇总 - Python技术站