机器学习三剑客之Pandas中DataFrame基本操作

Pandas 是基于Numpy 的一种工具,是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

安装命令:pip install pandas

具体操作如下:值得注意得是配置环境变量和添加项目路径要优先于导包 否则系统将检测不到pandas库

#导包
import os
import sys

#将脚本所在得工程添加到环境变量 绝对路径
sys.path.append('c:/Users/王建/www/mymac')

#相对路径
sys.path.append('../mymac')


#将项目路径添加到系统搜索路径
os.environ["DJANGO_SETTINGS_MODULE"] = 'mymac.settings'

#导入django模块
import django

#导入pandsa
import numpy as np
import pandas as pd

#导入sqlalchemy
from sqlalchemy import create_engine


#加载项目配置
django.setup()

#加载数据类
from myapp.models import Student

if __name__ == "__main__":

#加入数据库引擎
engine = create_engine('mysql+pymysql://root:mysql@localhost:3306/mymac')
#sql语句
sql = ' select * from student '

#建立数据框架
df = pd.read_sql_query(sql,engine)
print(df)

# 按照年龄正序 加ascending=False倒序
# 类似sql语句 select * from student order by age asc 或者 desc
df = df.sort_values(["age","height"],ascending=False)
print(df)


# 取年龄最小得学生
# select * from student order by age limit 1
df = df.sort_values(["age"])
print(df)

# 求整个班级得平均年龄 使用loc方法指定字段
print(df.mean())
print(df.mean(0))
print(df.mean(1))
print(df.loc[df['gender'] == 0].age.mean())
avg_age = df.loc[df['gender'] == 0].age.mean()
print(df.loc[ (df['age'] < avg_age) & (df['gender'] == 0) ])
# 取全班得平均年龄
print(df.age.mean())
# 全班年龄求个
print(df.age.sum())
# 获取男生得年龄求和
print(df.loc[df['gender']==1].age.sum())
# 取全班年龄最小
print(df.age.min())
# 或者 |
print(df.loc[(df['gender'] == 0) | (df['gender'] == 1)])
# 获取人数
print(df.id.count())
# 排除法
print(df.loc[(df['gender'] != 0) & (df['gender'] != 1)])
# 修改操作
df.loc[1,'gender'] = 1
print(df)
df.loc[0,'age'] = 10
print(df)
# 取单值
print(df.loc[5,'name'])
# 获取指定字段
print(df.loc[df['gender'] == 1 , ['id','name','age','height']])

# 将dataframe写入数据表 表名,数据引擎 索引是否入库
df.to_sql('student_copy',engine,index=False)

# 导出excel文件
# df.to_excel('student.xlsx')

# print(Student.objects.all())
 
参考数据库表:

猜你喜欢

转载自www.cnblogs.com/wjohh/p/10493441.html
今日推荐