Python panda库和绘图学习笔记

前言

最近可能要打数学建模,就把python看了一遍,做些笔记防止自己忘了emmm

seaborn

seaborn
import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
print(“Setup Complete”)
fifa_filepath = ""位置
fifa_data =pd.read_csv 读取数据
fifa_data = pd.read_csv(fifa_filepath, index_col=“Date”, parse_dates=True)
.head() 打印前五行
plt.figure(figsize=(16,6))建立图片
sns.lineplot(data=fifa_data)折线图
NaN非数字
sns.barplot和sns.heatmap制作条形图和热图。
sns.barplot(x=flight_data.index, y=flight_data[‘NK’])条形图
sns.heatmap(data=flight_data, annot=True)热图
sns.scatterplot(x=insurance_data[‘bmi’],
y=insurance_data[‘charges’],
hue=insurance_data[‘smoker’])散点图
sns.regplot(x=insurance_data[‘bmi’],
y=insurance_data[‘charges’])线性回归线
sns.lmplot(x=“pricepercent”, y=“winpercent”,
hue=“chocolate”, data=candy_data)对于有颜色图的回归线
sns.swarmplot(x=insurance_data[‘smoker’],
y=insurance_data[‘charges’])分类散点图
sns.distplot(a=iris_data[‘Petal Length (cm)’], kde=False)直方图
sns.kdeplot(data=iris_data[‘Petal Length (cm)’], shade=True#着色)一维KDE图
sns.jointplot(x=iris_data[‘Petal Length (cm)’], y=iris_data[‘Sepal Width (cm)’], kind=“kde”)二维
(1)“darkgrid”, (2)“whitegrid”, (3)“dark”, (4)“white”, and (5)“ticks”,

panda库

panda
DataFrame
Series 列表
fruits = pd.DataFrame([[30, 21]],
columns=[‘Apples’, ‘Bananas’])
pd.Series([30, 35, 40],
index=[‘2015 Sales’, ‘2016 Sales’, ‘2017 Sales’],
name=‘Product A’)
.shape 检查大小
.head()
保存 .to_csv()
选择数据
reviews.country
reviews[‘country’]
reviews.iloc[1:3,0]第一行2-3列#数字顺序选择
reviews.loc[0, ‘country’]#标签选择
iloc使用Python stdlib索引方案,其中包含范围的第一个元素,
而排除最后一个。所以0:10将选择条目0,…,9。
同时,loc包含索引。所以0:10将选择条目0,…,10。

reviews.set_index(“title”)
reviews.loc[reviews.country == ‘Italy’]检查
reviews.loc[(reviews.country == ‘Italy’)
& (reviews.points >= 90)]双条件检查
reviews.loc[reviews.country.isin([‘Italy’, ‘France’])]或==|
reviews.loc[reviews.price.notnull()]
notull/notnull 突出显示/过滤 为空(NaN)的值
indices = [1, 2, 3, 5, 8]
sample_reviews = reviews.loc[indices]
.descripe()摘要//含重复
.mean()平均值

.unique()唯一值//不含重复值
要查看唯一值的列表以及它们在数据集中出现的频率,

我们可以使用value_counts()方法:
map()映射Series
apply() DataFrame的查询
n_trop = reviews.description.map(lambda desc: “tropical” in desc).sum()map查找
bargain_idx = (reviews.points / reviews.price).idxmax()最大值
star_ratings = reviews.apply(stars, axis=‘columns’) 可包含函数,函数对整个进行计算
.agg()
reviews.groupby(‘points’).points.count()
索引 其他操作
agg函数,它提供基于列的聚合操作。
而groupby可以看做是基于行,或者说index的聚合操作

country_variety_counts =

reviews.groupby([‘country’, ‘variety’]).创建索引为国家和种类的multilndex
size().获得值
sort_values(ascending=False)降序排序

多索引:类似于多叉树
单索引:类似于队列
reser_index() 多索引转化为单索引

按索引序号排序
countries_reviewed.sort_values(by=‘len’,ascending=False#降序#)单索引的排序
countries_reviewed.sort_values(by=[‘country’, ‘len’])一次可以多列排序
类型为Series
按索引值排序

countries_reviewed.sort_index()
dtype DataFrame或Series中的数据类型
.dtypes 多个数据类型的表
astype()转换数据类型
pd.isnull() (or its companion pd.notnull()). 选择空值
fillna(‘Unknown’)替换为Unknown
replace()替换
reviews.rename(columns={‘points’: ‘score’})
rename()更改索引名和列名
set_index()重命名列
reviews.rename_axis(“wines”, axis=‘rows’).rename_axis(“fields”, axis=‘columns’)
更改行索引和列索引
归并
concat() 直接按顺序合并
‘’ pd.concat([gaming_products,movie_products])
q3.check()
q3.check()
join()合并有共同索引的不同DataFrame
left = canadian_youtube.set_index([‘title’, ‘trending_date’])
right = british_youtube.set_index([‘title’, ‘trending_date’])

left.join(right, lsuffix=’_CAN’, rsuffix=’_UK’)

发布了2 篇原创文章 · 获赞 4 · 访问量 1510
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览