您的位置:首页 > 编程语言 > Python开发

Python 数据分析之Pandas 常用指令

2018-09-21 09:01 459 查看

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()

‘’’

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: