pandas中的series数据类型

import pandas as pd
import numpy as np
import names

‘‘‘
写在前面的话:
    1、series与array类型的不同之处为series有索引,而另一个没有;series中的数据必须是一维的,而array类型不一定
    2、可以把series看成一个定长的有序字典,可以通过shape,index,values等得到series的属性
‘‘‘
# 1、series的创建
‘‘‘
(1)由列表或numpy数组创建
        默认索引为0到N-1的整数型索引,如s1;
        可以通过设置index参数指定索引,如s2;
        通过这种方式创建的series,不是array的副本,即对series操作的同时也改变了原先的array数组,如s3
(2)由字典创建
        字典的键名为索引,键值为值,如s4;
‘‘‘
n1 = np.array([1, 4, 5, 67, 7, 43, ])
s1 = pd.Series(n1)
# print(s1)
‘‘‘
0     1
1     4
2     5
3    67
4     7
5    43
dtype: int32
‘‘‘
s2 = pd.Series(n1, index=[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘])
# print(s2)
‘‘‘
a     1
b     4
c     5
d    67
e     7
f    43
dtype: int32
‘‘‘
# print(n1)
‘‘‘
[ 1  4  5 67  7 43]
‘‘‘
s1[2] = 100
s3 = s1
# print(s3)
‘‘‘
0      1
1      4
2    100
3     67
4      7
5     43
dtype: int32
‘‘‘
# print(n1)
‘‘‘
[  1   4 100  67   7  43]
‘‘‘
dict1 = {}
for i in range(10, 15):
    # names.get_last_name(),随机生成英文名字
    dict1[names.get_last_name()] = i
s4 = pd.Series(dict1)
# print(s4)
‘‘‘
Poole     10
Allen     11
Davis     12
Roland    13
Brehm     14
dtype: int64
‘‘‘
# 2、series的索引
‘‘‘
(1)通过index取值,可以通过下标获取,也可以通过指定索引获取,如s6,s7
(2)通过.loc[](显示索引)获取,这种方式只能获取显示出来的索引,无法通过下标获取,如s7(推荐)
(3)隐式索引,使用整数作为索引值,使用.icol[],如s9(推荐)
‘‘‘
s5 = pd.Series(np.array([1, 5, 9, 7, 6, 4, 52, 8]), index=[list(‘abcdefgh‘)])
# print(s5)
‘‘‘
a     1
b     5
c     9
d     7
e     6
f     4
g    52
h     8
dtype: int32
‘‘‘
s6 = s5[2]
# print(s6)
‘‘‘
9
‘‘‘
s7 = s5[‘c‘]
# print(s7)
‘‘‘
c    9
dtype: int32
‘‘‘
s8 = s5.loc[‘c‘]
# print(s8)
‘‘‘
c    9
dtype: int32
‘‘‘
s9 = s5.iloc[2]
# print(s9)
‘‘‘
9
‘‘‘
# 3、series的切片
‘‘‘
    1、series的切片和列表的用法类似,不同之处在于建议使用.loc[:]和.iloc[:],如s10和s11。当然直接使用[:]也可以。
    2、当遇到特别长的series,我们支取出前5条或后5条数据时可以直接使用.head()或.tail()
‘‘‘
s5 = pd.Series(np.array([1, 5, 9, 7, 6, 4, 52, 8]), index=[list(‘abcdefgh‘)])
# print(s5)
‘‘‘
a     1
b     5
c     9
d     7
e     6
f     4
g    52
h     8
dtype: int32
‘‘‘
s10 = s5.loc[‘b‘:‘g‘]
# print(s10)
‘‘‘
b     5
c     9
d     7
e     6
f     4
g    52
dtype: int32
‘‘‘
s11 = s5.iloc[1:7]
# print(s11)
‘‘‘
b     5
c     9
d     7
e     6
f     4
g    52
dtype: int32
‘‘‘
# 4、关于NaN
‘‘‘
    (1)NaN是代表空值, 但不等于None。两者的数据类型不一样,None的类型为<class ‘NoneType‘>,而NaN的类型为<class ‘float‘>;
    (2)可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据
‘‘‘
# print(type(None),type(np.nan))
‘‘‘
<class ‘NoneType‘> <class ‘float‘>
‘‘‘
s12 = pd.Series([1,2,None,np.nan],index=list(‘烽火雷电‘))
# print(s12)
‘‘‘
烽    1.0
火    2.0
雷    NaN
电    NaN
dtype: float64
‘‘‘
# print(pd.isnull(s12))
‘‘‘
烽    False
火    False
雷     True
电     True
dtype: bool
‘‘‘
# print(pd.notnull(s12))
‘‘‘
烽     True
火     True
雷    False
电    False
dtype: bool
‘‘‘
# print(s12.notnull())
‘‘‘
烽     True
火     True
雷    False
电    False
dtype: bool
‘‘‘
# print(s12.isnull())
‘‘‘
烽    False
火    False
雷     True
电     True
dtype: bool
‘‘‘
# 取出series中不为空的值
# print(s12[s12.notnull()])
‘‘‘
烽    1.0
火    2.0
dtype: float64
‘‘‘
# series的name属性
‘‘‘

‘‘‘
s12.name = ‘风水‘
# print(s12)
‘‘‘
烽    1.0
火    2.0
雷    NaN
电    NaN
Name: 风水, dtype: float64
‘‘‘

原文地址:https://www.cnblogs.com/xshan/p/10289588.html

时间: 2024-11-09 02:13:00

pandas中的series数据类型的相关文章

pandas DataFrame和Series

Pandas入门-Series和DataFrame 概述:pandas含有使数据分析工作变得更快更简单的高级数据结构和操作工具,pandas是基于Numpy构建的.pandas在过去的几年中逐渐成长为一个非常强大的库. pandas的数据结构介绍 引入pandas >>> from pandas import Series,DataFrame >>> import pandas as pd pandas有两个主要的数据结构:Series和DataFrame. Serie

pandas中的分组技术

目录 1  分组操作 1.1  按照列进行分组 1.2  按照字典进行分组 1.3  根据函数进行分组 1.4  按照list组合 1.5  按照索引级别进行分组 2  分组运算 2.1  agg 2.2  transform 2.3  apply 3  利用groupby技术多进程处理DataFrame 我们在这里要讲一个很常用的技术, 就是所谓的分组技术, 这个在数据库中是非常常用的, 要去求某些分组的统计量, 那么我们需要知道在pandas里面, 这些分组技术是怎么实现的. 分组操作 我们

pandas中DataFrame

python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数据及属性 df_obj = DataFrame() #创建DataFrame对象 df_obj.dtypes #查看各行的数据格式 df_obj['列名'].astype(int)#转换某列的数据类型 df_obj.head() #查看前几行的数据,默认前5行 df_obj.tail() #查看后几

Pandas 学习之Series学习

Pandas 数据结构 first: import numpy as np import pandas as pd Series 1.支持任意类型的一维标签数据,分为数据部分和轴标签部分(索引) 2.可以从list,dict,ndarray,scalar value等数据类型来创建 3.Series的取值和向量运算 From ndarray python s = pd.Series(np.random.randn(5),index = 'a b c d e'.split(' ')) python

Pandas中数据的处理

有两种丢失数据 --None --np.nan(NaN) None是python自带的,其类型为python object.因此,None不能参与到任何计算中 Object类型的运算比int类型的运算慢的多 计算不同数据类型求和时间 %timeit np.arange(1e5,dtype=xxx).sum() %timeit是指python表达式或语句的执行时间 Pandas中的none与np.nan都视作np.nan 数据清洗 df.loc[index,column] ------>元素索引,

numpy库中数组的数据类型

numpy库中数组的数据类型 dtype是一个特殊的对象,它含有ndarray将一块内存解释为特殊数据类型所需要的信息 指定数据类型创建数组 >>> import numpy as np >>> arr1=np.array([1,2,3,4],dtype=np.float64) >>> arr2=np.array([1,2,3,4],dtype=np.int32) >>> arr1.dtype dtype('float64') >

绘图与可视化--pandas中的绘图函数

matplotlib是一种比较低级的工具,要组装一张图表,你得用它得各种基础组件才行:数据展示(即图表类型:线型图.柱状图.盒型图.散布图.等值线图等).图例.标题.刻度标签以及其它注释型信息. 在pandas中,有行标签.列标签及分组信息,要绘制一张图,需要很多matplotlib代码.pandas有很多能够利用DataFrame对象数据组织特点来创建标准图表的高级绘图方法. 1.1 线型图 Series和DataFrame都有一个用于生成各类图表的plot方法,默认情况下,生成的是线型图.

MySql中的字符数据类型

MySql中的varchar类型 1.varchar类型的变化 MySQL数据库的varchar类型在4.1以下的版本中的最大长度限制为255,其数据范围可以是0~255或1~255根据不同版本数据库来定.在MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可 以存放65532个字节的数据, 起始位和结束位占去了3个字节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以使用可变长的varchar来存放,这样就能有效的减少数据库文

结合手机上网流量业务来说明Hadoop中的自定义数据类型(序列化、反序列化机制)

大家都知道,Hadoop中为Key的数据类型必须实现WritableComparable接口,而Value的数据类型只需要实现Writable接口即可:能做Key的一定可以做Value,能做Value的未必能做Key.但是具体应该怎么应用呢?--本篇文章将结合手机上网流量业务进行分析. 先介绍一下业务场景:统计每个用户的上行流量和,下行流量和,以及总流量和. 本次描述所用数据: 日志格式描述: 日志flowdata.txt中的具体数据: 接下来贴出详细代码,代码中含有详细注释,从代码中可以看出,