我是靠谱客的博主 稳重爆米花,最近开发中收集的这篇文章主要介绍Pandas入门系列(九) -- Map和replace,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据分析汇总学习

https://blog.csdn.net/weixin_39778570/article/details/81157884

import pandas as pd
import numpy  as np
from pandas import Series, DataFrame

df1 = DataFrame({"城市":["北京","上海","广州"], "人口":[1000,2000,1500]})
df1
Out[5]: 
     人口  城市
0  1000  北京
1  2000  上海
2  1500  广州

# 用Series添加一列
df1['GDP'] = Series([900,1600,3000])
df1
Out[7]: 
     人口  城市   GDP
0  1000  北京   900
1  2000  上海  1600
2  1500  广州  3000

# 使用map添加一列
gdp_map = {"北京":999, "上海":888,"广州":777}
df1['GDP'] = df1['城市'].map(gdp_map)
df1
Out[10]: 
     人口  城市  GDP
0  1000  北京  999
1  2000  上海  888
2  1500  广州  777

# 修改索引
df1.index = ['A','B','C']
df1
Out[12]: 
     人口  城市  GDP
A  1000  北京  999
B  2000  上海  888
C  1500  广州  777

# Series不方便的地方,默认索引为0,1,2...
df1["天气"] = Series(["多云","大雨","小雨"])
df1  # 输出值为nan
Out[14]: 
     人口  城市  GDP   天气
A  1000  北京  999  NaN
B  2000  上海  888  NaN
C  1500  广州  777  NaN

# 需要修改索引,map则不用
df1["天气"] = Series(["多云","大雨","小雨"], index=['A','B','C'])
df1
Out[16]: 
     人口  城市  GDP  天气
A  1000  北京  999  多云
B  2000  上海  888  大雨
C  1500  广州  777  小雨

# replace
s1 = Series(np.arange(10))
s1
Out[18]: 
0    0
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
dtype: int32

# 替换一个值,也可以使用字典的方式替换(略)
s1.replace(1,np.nan)
Out[19]: 
0    0.0
1    NaN
2    2.0
3    3.0
4    4.0
5    5.0
6    6.0
7    7.0
8    8.0
9    9.0
dtype: float64

# 替换多个值
s1.replace([1,2,4], [np.nan,np.nan,np.nan])
Out[20]: 
0    0.0
1    NaN
2    NaN
3    3.0
4    NaN
5    5.0
6    6.0
7    7.0
8    8.0
9    9.0
dtype: float64

最后

以上就是稳重爆米花为你收集整理的Pandas入门系列(九) -- Map和replace的全部内容,希望文章能够帮你解决Pandas入门系列(九) -- Map和replace所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部