• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python-pandas创建Series数据类型的操作

python 搞代码 4年前 (2022-01-07) 25次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了python-pandas创建Series数据类型的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.什么是pandas

2.查看pandas版本信息

 print(pd.__version__)

输出:

 0.24.1

3.常见数据类型

常见的数据类型:

– 一维: Series

– 二维: DataFrame

– 三维: Panel …

– 四维: Panel4D …

– N维: PanelND …

4.pandas创建Series数据类型对象

1). 通过列表创建Series对象

 array = ["粉条", "粉丝", "粉带"] # 如果不指定索引, 默认从0开始; s1 = pd.Series(data=array) print(s1) # 如果不指定索引, 默认从0开始; ss1 = pd.Series(data=array, index=['A', 'B', 'C']) print(ss1)

输出:

 0    粉条 1    粉丝 2    粉带 dtype: object A    粉条 B    粉丝 C    粉带 dtype: object

2). 通过numpy的对象Ndarray创建Series;

 n = np.random.randn(5)   # 随机创建一个ndarray对象; s2 = pd.Series(data=n) print(s2) # 修改元素的数据类型; ss2 = s2.astype(np.int) print(ss2)

输出:

 0   -1.649755 1    0.607479 2    0.943136 3   -1.794060 4    1.569035 dtype: float64 0   -1 1    0 2    0 3   -1 4    1 dtype: int64

3). 通过字典创建Series对象;

 dict = {string.ascii_lowercase[i]:i for i in range(10)} s3 = pd.Series(dict) print(s3)

输出:

 a    0 b    1 c    2 d    3 e    4 f    5 g    6 h    7 i    8 j    9 dtype: int64

5.Series基本操作

共同部分:

 import pandas as pd import numpy as np import  string array = ["粉条", "粉丝", "粉带"] s1 = pd.Series(data=array) print(s1) 

输出:

 0    粉条 1    粉丝 2    粉带 dtype: object

1). 修改Series索引.index

 print(s1.index) #输出:RangeIndex(start=0, stop=3, step=1) s1.index = ['A', 'B', 'C'] print(s1) 

输出:

 A    粉条 B    粉丝 C    粉带 dtype: object

2). Series纵向拼接.append

 s1.index = ['A', 'B', 'C'] array = ["粉条", "粉丝", "粉带"] # 如果不指定索引, 默认从0开始; s2 = pd.Series(data=array) s3 = s1.append(s2) print(s3)

输出:

 A    粉条 B    粉丝 C    粉带 0    粉条 1    粉丝 2    粉带 dtype: object

3). 删除指定索引对应的元素.drop(‘index’)

 s3 = s3.drop('C')  # 删除索引为‘C'对应的值; print(s3)

输出:

 A    粉条 B    粉丝 0    粉条 1    粉丝 2    粉带 dtype:<div style="color:transparent">来源gaodai.ma#com搞#代!码网</div> object

4). 根据指定的索引查找元素

 print(s3['B'])   #粉丝 s3['B'] = np.nan #索引B处的值替换为缺失值 print(s3)

输出:

 A     粉条 B    NaN 0     粉条 1     粉丝 2     粉带 dtype: object

5). 切片操作 ― 同列表

 print(s3[:2])  #显示前两个元素 print(s3[::-1]) #逆序 print(s3[-2:])  # 显示最后两个元素

输出:

 A     粉条 B    NaN dtype: object ------------------------- 2     粉带 1     粉丝 0     粉条 B    NaN A     粉条 dtype: object ------------------------- 1    粉丝 2    粉带 dtype: object

6.Series运算

先设置两个Series对象:

 import pandas as pd import numpy as np import  string s1  = pd.Series(np.arange(5), index=list(string.ascii_lowercase[:5])) s2  = pd.Series(np.arange(2, 8), index=list(string.ascii_lowercase[2:8])) print(s1) print(s2) 

按照对应的索引进行计算, 如果索引不同,则填充为Nan;

1).加法add

 print(s1 + s2) print(s1.add(s2))

输出:

 a    NaN b    NaN c    4.0 d    6.0 e    8.0 f    NaN g    NaN h    NaN dtype: float64

2).减法sub

 print(s1 - s2) print(s1.sub(s2))

输出:

 a    NaN b    NaN c    0.0 d    0.0 e    0.0 f    NaN g    NaN h    NaN dtype: float64

3).乘法mul

 print(s1 * s2) print(s1.mul(s2))

输出:

 a     NaN b     NaN c     4.0 d     9.0 e    16.0 f     NaN g     NaN h     NaN dtype: float64

4).除法div

 print(s1 / s2) print(s1.div(s2))

输出:

 a    NaN b    NaN c    1.0 d    1.0 e    1.0 f    NaN g    NaN h    NaN dtype: float64

5).求中位数median

 print(s1.median())

输出:

 2.0

6).求和sum

 print(s1.sum())

输出:

 10

7).最大值max

 print(s1.max())

输出:

 4

8).最小值min

 print(s1.min())

输出:

 0

7.特殊的where方法

series中的where方法运行结果和numpy中完全不同

 import pandas as pd import numpy as np import string s1 = pd.Series(np.arange(5), index=list(string.ascii_lowercase[:5])) print(s1)

输出:

 a    0 b    1 c    2 d    3 e    4 dtype: int64
 print(s1.where(s1 > 3))

大于3的显示,不大于3的为NaN

 # 对象中小于3的元素赋值为10; print(s1.where(s1 > 3, 10)) 

 # 对象中大于3的元素赋值为10; print(s1.mask(s1 > 3, 10)) 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网。如有错误或未考虑完全的地方,望不吝赐教。

以上就是python-pandas创建Series数据类型的操作的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python-pandas创建Series数据类型的操作

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址