Pandas 行列操作 与 数据选择

import pandas as pd
import numpy as np

Pandas读取数据及数据操作

以豆瓣电影数据作为示例:【点击下载】

df = pd.read_excel("豆瓣电影数据.xlsx")
df.head()

Out[]:
Unnamed: 0	名字	投票人数	类型	产地	上映时间	时长	年代	评分	首映地点
0	0	肖申克的救赎	692795.0	剧情/犯罪	美国	1994-09-10 00:00:00	142	1994	9.6	多伦多电影节
1	1	控方证人	42995.0	剧情/悬疑/犯罪	美国	1957-12-17 00:00:00	116	1957	9.5	美国
2	2	美丽人生	327855.0	剧情/喜剧/爱情	意大利	1997-12-20 00:00:00	116	1997	9.5	意大利
3	3	阿甘正传	580897.0	剧情/爱情	美国	1994-06-23 00:00:00	142	1994	9.4	洛杉矶首映
4	4	霸王别姬	478523.0	剧情/爱情/同性	中国大陆	1993-01-01 00:00:00	171	1993	9.4	香港

一、行操作

1、查看

df.iloc[0]
df.iloc[:5]			# 左闭右开
df.loc[:3]			# 左闭右闭

2、添加一行

A.append(l)

dit={'名字':'红富卫士','投票人数':'666666','类型':'科幻/魔幻','上映时间':'2077-07-07 00:00:00','产地':'中国','时长':'666','年代':2077,'评分':'10.0','首映地点':'中国'}
s=pd.Series(dit)
s.name=38738

df=df.append(s)

3、删除一行

A.drop([索引])

df = df.drop([38738])

二、列操作

1、查看列

df['名字']
df[['名字','上映时间',''类型]]

2、增加一列

直接赋值即可

df['序号']=range(1,len(df)+1)

3、删除一列

axis = 0:删行
axis = 1:删列

df=df.drop('序号',axis=1)

三、选择数据

1、通过标签选择

df.loc[[index],[co]]

# 一行一列
df.loc[1,'名字']
# 多行多列
df.loc[[1,2,3,4,5],['名字','评分']]

2、按条件选择

  • 选取产地为美国的所有电影
df['产地']=='美国'

Out[]:
0         True
1         True
2        False
3         True
4        False
         ...  
38734     True
38735    False
38736    False
38737    False
38738    False
Name: 产地, Length: 38739, dtype: bool

df[df['产地']=='美国']		# 这样就能取出来,上面是举例
  • 产地为美国,且评分大于九
df[(df.产地=='美国') & ((df.评分).astype(float)>9)]
  • 产地为美国或中国大陆的所有电影,且评分大于9分
df[((df.产地=='美国') | (df.产地=='中国大陆')) & (df.评分.astype(float)>9)]

四、缺失值和异常处理

1、缺失值处理方法

  • dropna:删除缺失值
  • fillna:填充缺失值
  • isnull:判断缺失值
  • notnull:isnull的否定式

2、判断缺失值

df[df.名字.isnull()]

3、填充缺失值并保存

df[np.mean(df.评分),inplace=True]

4、异常处理

df=df[df.投票人数>0]
df=df[df.投票人数%1==0]

结尾:Pandas数据保存

df.to_excel("movie.xlsx",engine='xlsxwriter')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值