栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第五节 课时37-42

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第五节 课时37-42

一. pandas把字符串离散化 获取字符串去重后的列表构造全为0的数组 columns为每个分类给全0数组出现分类的地方赋值为1
示例
# 统计电影的分类情况 
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
file_path ./IMDB-Movie-Data.csv 
df pd.read_csv(file_path)
# 统计分类的列表
temp_list df[ Genre ].str.split( , ).tolist()
#print(temp_list)
genre_list list(set([i for j in temp_list for i in j]))
#print(genre_list)
# 构造全为0的数组
zero_df pd.Dataframe(np.zeros((df.shape[0],len(genre_list))),columns genre_list)
#print(zero_df)
# 给每个电影出现分类的位置赋值1
for i in range(df.shape[0]):
 zero_df.loc[i,temp_list[i]] 1
#print(zero_df)
# 统计每个分类的电影的数量和
genre_count zero_df.sum(axis 0)
print(genre_count)
genre_count genre_count.sort_values()
_x genre_count.index
_y genre_count.values
plt.figure(figsize (20,8), dpi 100)
plt.bar(range(len(_x)),_y)
plt.xticks(range(len(_x)),_x)
plt.show()
二. pandas数据合并 join:默认情况下把行索引相同的数据合并到一起 merge:按照指定的列把数据按照一定的方式合并到一起
1 t1.merge(t2, on “a”,how “inner”) # 内连接,取交集
2 t1.merge(t2, on “a”,how “outter”) # 取并集
3 t1.merge(t2, on “a”,how “left”) # 以t1为准 NaN补全
4 t1.merge(t2,on “a”,how “right”) # 以t2为准 三. pandas分组和聚合

分组操作 df.groupby(by “) 得到DataframeGroupBy对象 可迭代 其中的每一个元素是一个元组
DataframeGroupBy对象优化方法
df.groupby(by ” ).mean()
df.groupby(by ).count()
df.groupby(by [’’ ‘’,’’ ‘’]).sum() 得到带复合索引的Dataframe

四. pandas索引和复合索引

df.index #获取index
df.index [‘x’,‘y’] #指定index
df.reindex(list[“abcdef”]) #重新设定index
df.set_index( ? , drop False) #指定某一列为index
df.set_index( ? ).index.unique() #返回index的唯一值

1 Series复合索引取值 直接在括号[]中写索引即可
S1[“a”][“b”]
S1[“a”,“b”]
2 Dataframe复合索引
df.loc[“a”].loc[“b”]
交换里外层索引的位置df.swaplevel()
df.swaplevel().loc[“b”]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267937.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号