精华内容
下载资源
问答
  • Series.apply() 回到主题, pandas 的 apply() 函数可以作用于 Series 或者整个 DataFrame,功能也是自动遍历整个 Series 或者 DataFrame, 对每一个元素运行指定的函数。 举一个例子,现在有这样一组数据,学生的...

    Series.apply()

    回到主题, pandas 的 apply() 函数可以作用于 Series 或者整个 DataFrame,功能也是自动遍历整个 Series 或者 DataFrame, 对每一个元素运行指定的函数。

    举一个例子,现在有这样一组数据,学生的考试成绩:

    NameNationalityScore
    400
    450
    460

    如果民族不是汉族,则总分在考试分数上再加 5 分,现在需要用 pandas 来做这种计算,我们在 Dataframe 中增加一列。当然如果只是为了得到结果, numpy.where() 函数更简单,这里主要为了演示 Series.apply() 函数的用法。

    对于 Nationality 这一列, pandas 遍历每一个值,并且对这个值执行 lambda 匿名函数,将计算结果存储在一个新的 Series 中返回。上面代码在 jupyter notebook 中显示的结果如下:

    import pandas as pd
    
    df = pd.read_csv("studuent-score.csv")
    df['ExtraScore'] = df['Nationality'].apply(lambda x : 5 if x != '汉' else 0)
    df['TotalScore'] = df['Score'] + df['ExtraScore']
    
    

    lamba

    lamba 的用法可以看成一个简要的函数,左边是参数,右边是以该参数返回的值(表达式),多与循环体连用。

    NameNationalityScoreExtraScoreTotalScore
    4000400
    4505455
    4600460
    展开全文
  • python series修改index名称

    千次阅读 2021-01-08 11:05:39
    已经有一个series但是index名称不是我想要的,所以要修改一下 重建一个series,指定新的index sx_beam_param_zte = pd.Series([cgi_envelope['cgi'], cgi_envelope['manufacturer'], cgi_envelope['beam_...

    已经有一个series但是index名称不是我想要的,所以要修改一下

    重建一个series,指定新的index

    sx_beam_param_zte = pd.Series([cgi_envelope['cgi'], cgi_envelope['manufacturer'], cgi_envelope['beam_azimuth'],cgi_envelope['beam_downtilt'], cgi_envelope['hor_beam_width'], cgi_envelope['vert_beam_width'],group['参数组ID'].iloc[0], group['cgi_true'].iloc[0]],
    index=['cgi', 'manufacturer', 'eazimuth', 'edowntilt', 'hbw', 'vbw', '参数组ID','cgi_true'])

     

    展开全文
  • Pythonseries排序的方法

    千次阅读 2021-02-09 06:23:58
    Pythonseries排序的方法发布时间:2020-08-24 17:09:17来源:亿速云阅读:111作者:小新小编给大家分享一下Pythonseries排序的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!SERIES是一种...

    Python给series排序的方法

    发布时间:2020-08-24 17:09:17

    来源:亿速云

    阅读:111

    作者:小新

    小编给大家分享一下Python给series排序的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

    SERIES是一种用于定义图表系列的特殊函数,它只能在此类环境中使用。

    6a01ce7076ddd28a90a3762de3c41c77.png

    series(函数曲线)在除气泡图以外的所有图表类型中,SERIES 函数都具有下表中列出的参数。

    在气泡图中,SERIES 函数还要用一个额外的参数来指定气泡的大小。

    线性的数据结构, series是一个一维数组

    Pandas 会默然用0到n-1来作为series的index, 但也可以自己指定index( 可以把index理解为dict里面的key )

    Sort Series

    分为索引排序和值排序

    sort_index方法seriesdata.sort_index()

    seriesdata.sort_index(ascending = False, inpalce = False)

    sort_values方法seriesdata.sort_values()

    seriesdata.sort_values(ascending = False, inpalce = False)

    看完了这篇文章,相信你对Python给series排序的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

    展开全文
  • PythonSeries的切片和索引雷区 问题 在学习pandas的过程中,做了这样一个练习: 数据集——全球排名靠前的10000本书的数据 统计要求——统计不同年份书的数量 输出结果——通过条形图展示数据 在提取有效数据的...

    Python中Series的切片和索引雷区

    问题

    在学习pandas的过程中,做了这样一个练习:
    数据集——全球排名靠前的10000本书的数据
    统计要求——统计不同年份书的数量
    输出结果——通过条形图展示数据
    在提取有效数据的过程中,出现了代码报错 KeyError: 50

    提取有效数据的代码如下

    data1 = df[pd.notnull(df['original_publication_year'])]
    # 对数据按年份字段进行分组,并计数,正序排序,取前30
    grouped = data1.groupby(by='original_publication_year')['id'].count().sort_values(ascending=False)[:50]
    print(grouped)
    

    这里尝试对一个Series进行切片操作[:50],取前50条数据
    报错如下
    在这里插入图片描述
    解决方法是不直接采用 [:50] 对数据进行切片,改为用 iloc[:50] 切片,或者直接取 head(50)

    分析

    之前做过另一个练习,也是对一个Series取前几条数据的操作,[:50]是可以实现的,这里却报错了,很奇怪
    首先理解Series切片的原理,假设有这样一个数据集,对其取前3条数据

    t = pd.Series(np.arange(10),index = range(10))
    print(t[:3])
    
    0    0
    1    1
    2    2
    dtype: int32
    

    可以发现,是能正常输出结果的

    再尝试将其索引改为字符型

    t = pd.Series(np.arange(10),index = list(string.ascii_lowercase[:10]))
    print(t[:3])
    
    a    0
    b    1
    c    2
    

    输出结果依然是正常的

    此时,我们注意到,原数据中的年份作为索引,是浮点型数据,再尝试将t的索引改为浮点型

    t = pd.Series(np.arange(10),index = [0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0])
    print(t[:3])
    
    0.0    0
    1.0    1
    2.0    2
    3.0    3
    dtype: int32
    

    到这里,输出结果依然正常,我们再尝试对 t 进行倒序排序

    t = pd.Series(np.arange(10),index = [4.0,2.0,7.0,6.0,3.0,9.0,5.0,1.0,0.0,8.0])
    t = t.sort_values(ascending=False)
    print(t[:3])
    
    8.0    9
    0.0    8
    1.0    7
    5.0    6
    9.0    5
    3.0    4
    dtype: int32
    

    这里就出现问题了,切片操作明明是取的前3条数据,但实际结果是取到了从第一条到 t.index = 3 的数据
    这样我们就可以解释之前练习的报错了,KeyError: 50 表示的是改组数据中没有年份为50的数据

    报错原因

    这个报错非常的奇怪,试了一遍之后,对于字符型、字符串型、整型的索引,都可以正常使用 [:n] 进行切片取数,但浮点型的索引就会出现上述分析的情况。
    具体报错原因未知,猜想是浮点型与整型数据在转换匹配的时候出现的问题

    解决方法

    有两种方法解决该问题

    1. 采用 iloc 对 Series 进行切片
    grouped = data1.groupby(by='original_publication_year')['id'].count().sort_values(ascending=False).iloc[:10]
    print(grouped)
    
    original_publication_year
    2012.0    568
    2011.0    556
    2013.0    518
    2010.0    473
    2014.0    437
    2009.0    432
    2008.0    383
    2007.0    363
    2006.0    362
    2005.0    326
    Name: id, dtype: int64
    
    1. 采用 head 直接取排序后的数据
    grouped = data1.groupby(by='original_publication_year')['id'].count().sort_values(ascending=False).head(10)
    print(grouped)
    

    总结

    以后需要对Series进行切片时,尽量使用 iloc 的方法,可以避免踩雷

    展开全文
  • python中获取如何Series

    千次阅读 2021-02-09 19:20:13
    python中除了本文就有的列表,pandas库中的Series也可以看作列表, 表示一系列的值(数字或者其他数据),例如一列数字,想要对这些数字进行操作,首先要获取值。本文介绍python中获取Series值的三种方法:1、使用...
  • 16o_list) AA15_AA_16_only = pd.Series(list(AA15_AA_16_only)) AA15_AA_16_only.to_csv('AA15_AA_16_only.csv') 以上这篇python 集合 并集、交集 Series list set 转换的实例就是小编分享给大家的全部内容了,希望...
  • 使用给出的电影数据分别创建一个Series和DataFrame数据,其中Series需使用电影票房信息(y)作为行索引,DataFrame使用默认的index作为行索引2.用三中方法遍历获取所有电影的票房信息。3.获取最高票房信息。1.首先将...
  • 最好我可以想出是df = pd.DataFrame({'a':[1, 2], 'b':[3, 4]}) # see EDIT belows = pd.Series({'s1':5, 's2':6})for name in s.index:df[name] = s[name]a b s1 s20 1 3 5 61 2 4 5 6有人建议更好的语法/更快的...
  • 我想使用Pandas实时处理系列.每一秒,我都需要在现有系列中添加最新的观察结果.我的系列被分组为一个DataFrame并存储在HDF5文件中.... updated_series = existing_series.append( Series([111], [...
  • 怎样获取python中的Series值?

    千次阅读 2021-02-03 14:21:42
    python中除了本文就有的列表,pandas库中的Series也可以看作列表, 表示一系列的值(数字或者其他数据),例如一列数字,想要对这些数字进行操作,首先要获取值。本文介绍python中获取Series值的三种方法:1、使用...
  • pythonseries转dataframe的两种方法

    千次阅读 2021-02-04 02:13:57
    python的pandas包中,其中一个数据类型DataFrame想要转换为Serie会自动转换,那将Series转为DataFrame又如何实现呢?本文介绍pythonseries转dataframe的两种方法:1、使用to_frame()后,再转置index与columns...
  • Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。Pandas 系列是带有轴标签的一维ndarray。标签不必是唯一的,但...
  • Pandas 系列是带有轴标签的一维ndarray。标签不必是唯一的,但必须是可哈希的类型。该对象同时支持基于整数和基于标签的...用法: Series.append(to_append, ignore_index=False, verify_integrity=False)参数:to...
  • 可以使用以下构造函数创建它-pd.Dataframe(data,index,columns,dtype,copy)让我们了解如何使用Series字典创建数据框。系列是“熊猫”库中存在的一维数据结构。轴标签统称为索引。系列结构可以存储任何类型的数据,...
  • I'm trying to convert a Series object to integer. But I'm having trouble doing it. Every time I try something I have a new Error.I tried to convert using pd.to_numeric, error while parsing string None...
  • Series是Dataframe中的一维数组对象,本文主要介绍Series的一些用法。 1.解决列名输出不齐,行列显示不全的问题 import pandas as pd pd.set_option('display.unicode.east_asian_width',True)#解决列名输出不齐 df=...
  • 您可以使用带格式字符串的to_datetime()来提取日期:date = pd.to_datetime(df.Start_Time, format='%Y, %m, %d').dt.date也可以修改在位日期:^{pr2}$或者,您可以在读取csv时将其转换为日期:to_date = lambda x: ...
  • python第一个元素的下标从0开始),每个元素可变,类型可变。其方便之处在于可以用append函数进行添加 c=[1,2,3,4,5] 2.np.array python中的list和array的不同之处 list是列表,可以通过索引查找数值,但是不能对...
  • 最近在学数据分析,这里是关于我个人的错误记录,同时也和大家分享一下! 出错图 修改后 ...错误原因:没有搞清楚list列表和Series数据的...##这里的data_list应该为列表,不能在前面先把它写进pandas.Series([...
  • 2,指数加权移动平均的意义指数加权移动均值(EWMA,Exponentially Weighted Moving Average) 的公式是:EWMA(t) = aY(t) + (1-a)EWMA(t-1),t = 1,2,.....,n;表示的含义是:在t时刻,根据实际的观测值可以求取EWMA...
  • 它是一个矢量化版本,比使用循环的版本快150倍.def cross(series, cross=0, direction='cross'):"""Given a Series returns all the index values where the data values equalthe 'cross' value.Direction can be '...
  • 1.Series常用属性属性说明values获取数组index获取索引namevalues的nameindex.name索引的name2.Series常用函数Series可使用ndarray或dict的差不多所有索引操作和函数,集成了ndarray和dict的优点函数说明Series([x,y...
  • python中pandas的series合并方法

    千次阅读 2020-12-19 23:49:23
    如下所示:In [3]: import pandas as pdIn [4]: a = pd.Series([1,2,3])In [5]: b = pd.Series([2,3,4])In [6]: c = pd.DataFrame([a,b])In [7]: cOut[7]:0 1 20 1 2 31 2 3 4不过pandas直接用列表生成dataframe只能...
  • 我有一个熊猫系列sf:emailemail1@email.com [1.0, 0.0, 0.0]email2@email.com [2.0, 0.0, 0.0]email3@email.com [1.0, 0.0, 0.0]email4@email.com [4.0, 0.0, 0.0]email5@email.com [1.0, 0.0, 3.0]...
  • 1、concat中括号里得内容必须是series格式的,如果想要拼接的是list可以将list转为series(pd.Series(list1)),如果是纵向拼接,list可以直接用+。 2、axis=1表示横向拼接,即不增加长度,只增加维度; axis=0表示...
  • 上一篇文章我记录了自己在入门 Python 学习的一些基础内容以及实际操作代码时所碰到的一些问题。这篇我将会记录我在学习和运用 Python 进行数据分析的过程:介绍 Numpy 和 Pandas 两个包运用 Numpy 和 Pandas 分析一...
  • Pandas 系列是带有轴标签的一维ndarray...Pandas Series.rsub()函数返回系列和其他逐元素的减法(二进制运算符rsub)。相当于other - series,但支持用fill_value代替输入之一中的丢失数据。用法: Series.rsub(other,...
  • Python学习-Scipy库一维数据表Series 目录 1、创建Series Series()函数 2、Series数据的索引 3、Series数据的修改 4、Series数据的删除 导入库 import numpy as np import pandas as pd Series可以存储带索引的一维...
  • 返回 Series ,其中删除了指定的索引标签。根据指定的索引标签删除 Series 的元素。使用multi-index时,可以通过指定级别来删除不同级别上的标签。参数:labels:single label 或 list-like索引标签下降。axis:0, ...
  • Python:pandas处理Series

    2021-05-22 20:47:40
    pandas 是一套用于 Python 的快速、高效的数据分析工具。它提供了数组的操作,定义了处理数据的基本结构,并且赋予了它们促进操作的方法,例如:读取数据、调整索引、使用日期和时间序列、排序、分组、一般数据调整...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,674
精华内容 38,669
关键字:

pythonseries

python 订阅