锋哥原创的Pandas2 Python数据处理与分析 视频教程:
2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
我们首先准备一个excel文件,用来演示pandas操作数据集(数据的集合)。excel文件属于数据集的一种,其他的csv,网页,sql,剪贴板也算数据集。student_scores.xlsx文件。一共100条数据。包含姓名,学号,出生日期,性别,语文分数,数学分数,英语分数列信息。
当然这个excel数据集也是锋哥通过pandas生成的,先给下代码,等后面学到数据输出再细讲代码,暂时不要求掌握。( 需要额外安装openpyxl库 )
import pandas as pd
import random
import string
from datetime import datetime, timedelta
def random_name():
first_names = ['赵', '钱', '孙', '李', '周', '吴', '郑', '王']
last_names = [''.join(random.choices(string.ascii_letters, k=2))]
return random.choice(first_names) + random.choice(last_names)
def random_date():
start_date = datetime.strptime('2005-01-01', '%Y-%m-%d')
end_date = datetime.strptime('2008-12-31', '%Y-%m-%d')
random_days = random.randint(0, (end_date - start_date).days)
return (start_date + timedelta(days=random_days)).strftime('%Y-%m-%d')
data = {
'姓名': [random_name() for _ in range(100)],
'学号': [f'S{random.randint(10000, 99999)}' for _ in range(100)],
'出生日期': [random_date() for _ in range(100)],
'性别': [random.choice(['男', '女']) for _ in range(100)],
'语文分数': [random.randint(0, 100) for _ in range(100)],
'数学分数': [random.randint(0, 100) for _ in range(100)],
'英语分数': [random.randint(0, 100) for _ in range(100)]
}
df = pd.DataFrame(data)
df.to_excel('student_scores.xlsx', index=False)
新建helloWorld.py
# 导入pandas库,去别名pd
import pandas as pd
df = pd.read_excel('student_scores.xlsx') # 读取excel,返回DataFrame数据集对象
print(df)
运行输出:
格式不太好看,我们可以学习下一节,用Jupyter,返回效果会好看很多。