Python 数据分析之Pandas 常用指令
import pandas as pd
‘’’
#创建一个默认索引从0开始的Series
s = pd.Series([1,2,3,4,5,6])
#创建一个自定义索引的数字,索引有index指定和前面的数据依次对应
s = pd.Series([1,2,3,4,5,6],index=[‘a’,‘b’,‘c’,‘d’,‘e’,‘f’])
s[‘a’:‘c’] Series 取得时候都能取到,
numpy 取得时候是左开右闭
‘’’
‘’’
#使用字典创建一个DataFrame,字典的key会自动成为索引,一个key默认对应一列数据
df1 = pd.DataFrame({‘math’:[1,2,3,4,5],‘physic’:[5,6,7,8,9]})
df1.head(2)#取头两行,参数指定从开始读取多少行
df1.tail(2)#尾部两行,参数指定从结尾读取多少行
‘’’
‘’’
#生成从20180101开始的时间序列,默认增加单位是天
dates =pd.date_range(‘20180101’,periods=10)
#创建使用时间索引的Series
s_date = pd.Series(range(10),index=dates)
#取出数据
s_date[‘2018-01-01’:‘2018-01-06’]
‘’’
#将excel读取并转换为pandas的DataFrame
df_score = pd.read_excel(‘score_xlsx’)
df_imdb = pd.read_csv(‘IMDB.csv’) #是DateFrame格式
#取出行对应的信息
columns = df_imdb.columns
取出列对应的信息
index = df_imdb.index
#选出一列
title= df_imdb.Title #相当于df_imdb[‘Title’]
#获取最高票房
money = df_imdb[‘Revenue (Millions)’].max()
获取最高票房的索引
Revenue_index = df_imdb[‘Revenue (Millions)’].idxmax()
#获取电影的详细信息
move1 = df_imdb[50:51]
#将DateFrame 第50行数据的Director取出 这种形式 左开右闭 取1-5 [1:6]
director = df_imdb[50:51][‘Director’]
#将50到56行数据 导演和电影上映年份取出来 6个信息
#第一个维度是行,第二个维度是列 loc 函数 利用关键字 全开区间 取1-5 [1:5]
director_year = df_imdb.loc[50:56,[‘Year’,‘Director’]]
print(director_year)
#将50-55行取出,以及第2列取出 iloc 函数 利用索引 与numpy操作一样,使用整数索引
numpy = df_imdb.iloc[50:56,2:3]
#查找票房大于500 Millions 的电影 这里得到的还是DateFrame 类型
a = df_imdb[df_imdb[‘Revenue (Millions)’]>500]
没有重复的,统计不同导演出现的次数
df_imdb[‘Director’].value_counts()
取出电影评分最高的电影和导演
num = df_imdb[‘Rating’].idxmax() #或得索引
list = df_imdb.loc[num:num,[‘Director’,‘Year’]] #根据索引或得信息
print(list)
#筛选 信息
A = df_imdb[df_imdb[‘Revenue (Millions)’]>500]
取出 票房大于500 Millions 的电影的导演和上映年份
B = df_imdb.loc[df_imdb[‘Revenue (Millions)’]>500,[‘Director’,‘Year’]]
统计排片前十的某导演、执导电影的总票房
#1. 获取前十的导演 从中获取一个导演
d = df_imdb[‘Director’].value_counts().index[0]
print(d)
2.获取他执导的所有电影
move = df_imdb[df_imdb[‘Director’] == d]
print(move)
#3. 得到所有电影的票房
money1= move[‘Revenue (Millions)’].sum()
print(money1)
#统计2016年上映的电影的总票房
1 现获取2016年上映的所有电影
all_move = df_imdb[df_imdb[‘Year’] == 2016]
2或得票房总数
money_all = all_move[‘Revenue (Millions)’].sum()
print(money_all)
#找到 类型里包含恐怖片的所有电影 .str 将待处理列转换为字符串
a1 = df_imdb[df_imdb[‘Genre’].str.contains(‘Thriller’)]
a2 = df_imdb[54:55].loc[:,[‘Director’,‘Title’]]
‘’’
#将缺失的NaN填充为0
df_score.fillna(0)
#将缺失数据的行移除(默认操作,可以使用axis=1指定删除列df_score.dropna(axix=1))
#axix = 0 行, axix=1 列
df_score.dropna()
在DateFrame 增加一列avg(平均值),计算当前DateFarme中每一行的平均值,前后赋值数据的行数要对应
df[‘avg’] = df.mean(axis=1)
#groupby 分组,现将音乐性别取出来,然后按照性别分组,
df.loc[:,[‘音乐’,‘性别’]].groupby(‘性别’).sum()
‘’’
阅读更多- Python数据分析与挖掘所需的Pandas常用知识
- Python数据分析模块 | pandas做数据分析(二):常用预处理操作
- Python pandas数据分析中常用方法
- Python pandas数据分析中常用方法
- Python常用的数据分析工具入门: numpy和pandas入门
- Python 数据分析之Pandas and Numpy (数据类型的介绍和数据处理的常用运算)
- 用Python做数据分析:Pandas常用数据查询语法
- Python数据分析常用手册——Numpy和Pandas
- Python数据分析与挖掘实战(Pandas,Matplotlib常用方法)
- Python数据分析之pandas学习
- Python数据分析之pandas学习
- python/pandas/numpy数据分析(十一)-相关系数与协方差
- Python数据分析库Pandas教程——简介
- Python数据分析之pandas学习
- 利用python/pandas/numpy做数据分析(三)-透视表pivot_table
- 基于python的数据分析库Pandas
- (转载)Python数据分析之pandas学习
- Python 数据分析-pandas 基础
- 用 python 做数据分析:pandas 的 excel 应用初探
- 利用Python进行数据分析(13) pandas基础: 数据重塑/轴向旋转