IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> stage2——05 -> 正文阅读

[Python知识库]stage2——05

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
file_path = "IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)
#统计分类的列表
tem_list = df["Genre"].str.split(",").tolist()
genre_list = list(set([i for j in tem_list for i in j]))
#构造全为0的数组,.shape为统计列表中元素的个数,.shape[0]为第1行的个数
zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list)
#给每个电影出现分类的位置赋值为1
for i in range(df.shape[0]):
    zeros_df.loc[i,tem_list[i]] = 1
#print(zeros_df.head(3))
#统计每个分类电影的数量
genre_count = zeros_df.sum(axis=0) #在横轴方向统计每一列的值
#print(genre_count)
#排序.sort_values()为使数据的值按照从小到大升序排列

genre_count = genre_count.sort_values()

#画图
plt.figure(figsize=(20,8),dpi=80)

#plt.bar(genre_list,genre_count)   #genre_list没有跟随genre_count变化
_x = genre_count.index
_y = genre_count.values

plt.bar(range(len(_x)),_y)
plt.xticks(range(len(_x)),_x)

plt.show()

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd"))
print(df1)
df2 = pd.DataFrame(np.zeros((3,3)),index=["A","B","C"],columns=list("xyz"))
#print(df2)
#.join是行索引合并
#tem_test1 = df1.join(df2)
#print(tem_test1)
#tem_test2 = df2.join(df1)
#print(tem_test2)


#.merge是列索引合并
# df3 = pd.DataFrame(np.arange(9).reshape((3,3)),columns=list("fax"))
# print(df3)
# #df1.loc["A","a"]=100
# #print(df1)               #如果对df1进行修改后,让df1的a列只有一个1,merge合并后只有1行
# print(df1.merge(df3,on="a"))      #df1的a列在A,B这2行上都是1,因此指定a为标准进行合并时,有2行

# print(df1.index)
# df1.index = ["a","b"]
# print(df1)
# print("*"*100)
# print(df1.reindex(["a","f"]))       #.reinde是从数据中抽出["a","f"],再赋值给数据,因为原数据有a这一行,所以a有值
# print(df1)                          #原数据没有f,f行没有数据可以抽取,因此显示为nan
# print("*"*100)
# print(df1.set_index("a"))
# print(df1.set_index("a").index)
# print("*"*100)
# print(df1.set_index("a",drop=False))
# print(df1["d"].unique())
# print(df1.set_index("a").index.unique())
# print(len(df1.set_index("a").index))
# print(df1.set_index(["a","b"]))
# print(df1.set_index(["a","b"]).index)
a = pd.DataFrame({"a":range(7),"b":range(7,0,-1),"c":["one","one","one","two","two","two","two"],"d":list("hjklmno")})
print(a)
b = a.set_index(["c","d"])
print(b)
c= b["a"]
print(c)
print(c["one"]["j"])
print("*"*100)
print(c["one"])
d = a.set_index(["d","c"])["a"]
print(d)
print(d.swaplevel())
print("*"*100)
print(b.loc["one"].loc["h"])
print(b.swaplevel().loc["h"])

import pandas as pd
import numpy as np

file_path = "./directory.csv"
df = pd.read_csv(file_path)
#print(df.head(1))
#print(df.info())
#grouped = df.groupby(by="Country")
#print(grouped)
#DataFrameGroupby可以遍历
#for i,j in grouped:
#   print(i)
#    print("-" * 100)
#    print(j)
#    print("*"*100)

#df[df["country"]="US"]
#可以聚合
#country_count = grouped["Brand"].count()
#print(country_count["US"])
#print(country_count["CN"])
#统计中国每个省份店铺的数量
#china_data = df[df["Country"] == "CN"]
#grouped = china_data.groupby(by="State/Province").count()["Brand"]
#print(grouped)
#按照多个条件进行分组    df["Brand"]取到的是series,不是DataFrame,当使用多个条件进行分组时,需要限定,如df["Country"]
#grouped = df["Brand"].groupby(by=[df["Country"],df["State/Province"]]).count()  #输出的结果为series,但是有2个索引
#print(grouped)
#如果想返回一个DataFrame时,可以使用列表方式.grouped1与grouped2,grouped3的效果是一样的
grouped1 = df[["Brand"]].groupby(by=[df["Country"],df["State/Province"]]).count()
# grouped2 = df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count()
# # grouped3 = df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]]
#索引的方法和属性
print(grouped1.index)
import pandas as pd
from matplotlib import pyplot as plt

file_path = "./directory.csv"
df = pd.read_csv(file_path)

data1 = df.groupby(by="Country").count()#["Brand"].sort_values(ascending=False)[:10]
print(data1)

# _x = data1.index
# _y = data1.values
# print(len(_x))
#
# print(range(len(_x)))
# plt.figure(figsize=(20,8),dpi=80)
#
# plt.bar(range(len(_x)),_y)
#
# plt.xticks(range(len(_x)),_x)
#
#
# plt.show()
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 11:58:44  更:2021-08-13 12:00:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 19:44:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码