精华内容
下载资源
问答
  • echarts 动态给series元素添加color 首先循环定义一个color数组 var colors=[]; for(var i=0;i<tznl.length;i++){ if((i+1)==h){ colors.add('#FFE38A'); }else{ colors.add('#698ED0'); ...

    echarts 动态给series元素添加color

    首先循环定义一个color数组

    var colors=[];
                for(var i=0;i<tznl.length;i++){
                    if((i+1)==h){
                        colors.add('#FFE38A');
                    }else{
                        colors.add('#698ED0');
                    }
                    
                }

    然后在series中直接调用

     series: [{
                        data: tznl,
                        type: 'bar',
                        barWidth:20,
                        label: {
                            show: true,
                            position: 'top',
                            textStyle: {
                                color: '#555'
                            }
                        },
                        itemStyle: {
                            normal: {
                                color: function (params){
                                    var colors = colors1;
                                    return colors[params.dataIndex];
                                }
                            }
                        },
                        xAxisIndex: 0,
                        yAxisIndex: 0
                    }]

    展开全文
  • 24_Pandas.DataFrame,Series元素值的替换(replace)要替换pandas.DataFrame,pandas.Series元素的值,请使用replace()方法。这里,将描述以下内容。替换元素一次替换多个不同的元素在字典中指定在列表中指定注意...

    24_Pandas.DataFrame,Series元素值的替换(replace)

    要替换pandas.DataFrame,pandas.Series元素的值,请使用replace()方法。

    这里,将描述以下内容。

    替换元素

    一次替换多个不同的元素

    在字典中指定

    在列表中指定

    注意点

    通过指定目标列进行替换

    用正则表达式替换

    替换缺失值NaN

    变更原始项目

    以下面的数据为例。一些元素的值已更改以作说明。

    import pandas as pd

    df = pd.read_csv('./data/24/sample_pandas_normal.csv')

    df.iloc[1, 3] = 24

    print(df)

    # name age state point

    # 0 Alice 24 NY 64

    # 1 Bob 42 CA 24

    # 2 Charlie 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 CA 88

    # 5 Frank 30 NY 57

    该示例为pandas.DataFrame,但pandas.Series相同。

    替换元素

    在第一个参数中指定原始元素的值,在第二个参数中指定替换后的值。

    print(df.replace('CA', 'California'))

    # name age state point

    # 0 Alice 24 NY 64

    # 1 Bob 42 California 24

    # 2 Charlie 18 California 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 California 88

    # 5 Frank 30 NY 57

    包括所有列元素。如果您只想替换特定列的值,请参见下文。

    print(df.replace(24, 100))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 CA 100

    # 2 Charlie 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 100 CA 88

    # 5 Frank 30 NY 57

    默认情况下,将返回带有替换元素的新DataFrame,但是如果参数inplace = True,则将更改原始DataFrame。最后,我将介绍一个示例。

    一次替换多个不同的元素

    如果要一次替换多个不同的元素,则可以使用字典或列表。

    在字典中指定

    在第一个参数中指定{原始值:替换后的值}的字典。

    print(df.replace({'CA': 'California', 24: 100}))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 California 100

    # 2 Charlie 18 California 70

    # 3 Dave 68 TX 70

    # 4 Ellen 100 California 88

    # 5 Frank 30 NY 57

    在列表中指定

    在第一个参数中指定原始值列表,在第二个参数中指定替换值列表。如果列表的大小(元素数)不匹配,则会发生错误。

    print(df.replace(['CA', 24], ['California', 100]))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 California 100

    # 2 Charlie 18 California 70

    # 3 Dave 68 TX 70

    # 4 Ellen 100 California 88

    # 5 Frank 30 NY 57

    # print(df.replace(['CA', 24, 'NY'], ['California', 100]))

    # ValueError: Replacement lists must match in length. Expecting 3 got 2

    如果将标量值指定为第二个参数,则所有元素都将替换为该值。

    print(df.replace(['CA', 24], 'XXX'))

    # name age state point

    # 0 Alice XXX NY 64

    # 1 Bob 42 XXX XXX

    # 2 Charlie 18 XXX 70

    # 3 Dave 68 TX 70

    # 4 Ellen XXX XXX 88

    # 5 Frank 30 NY 57

    注意点

    注意多个替换对之间的原始值和替换值是否相同。由于值是按顺序替换的,因此替换的值会进一步替换。结果取决于顺序。

    字典示例。

    print(df.replace({'CA': 'NY', 'NY': 'XXX'}))

    # name age state point

    # 0 Alice 24 XXX 64

    # 1 Bob 42 XXX 24

    # 2 Charlie 18 XXX 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 XXX 88

    # 5 Frank 30 XXX 57

    print(df.replace({'NY': 'XXX', 'CA': 'NY'}))

    # name age state point

    # 0 Alice 24 XXX 64

    # 1 Bob 42 NY 24

    # 2 Charlie 18 NY 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 NY 88

    # 5 Frank 30 XXX 57

    字典的顺序在Python 3.7之后得以保留,但在早期版本中未定义。它并不总是看起来像上面的结果。如果要明确指定顺序,请重复调用replace()。

    print(df.replace({'NY': 'XXX'}).replace({'CA': 'NY'}))

    # name age state point

    # 0 Alice 24 XXX 64

    # 1 Bob 42 NY 24

    # 2 Charlie 18 NY 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 NY 88

    # 5 Frank 30 XXX 57

    在列表中,第一个元素将首先被替换。当顺序很重要时,使用列表比使用字典更容易。

    print(df.replace(['CA', 'NY'], ['NY', 'XXX']))

    # name age state point

    # 0 Alice 24 XXX 64

    # 1 Bob 42 XXX 24

    # 2 Charlie 18 XXX 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 XXX 88

    # 5 Frank 30 XXX 57

    print(df.replace(['NY', 'CA'], ['XXX', 'NY']))

    # name age state point

    # 0 Alice 24 XXX 64

    # 1 Bob 42 NY 24

    # 2 Charlie 18 NY 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 NY 88

    # 5 Frank 30 XXX 57

    通过指定目标列进行替换

    通过将{列名称:{原始值:替换后的值}}的字典指定为第一个参数,只能替换目标列的元素。您可以通过增加字典元素的数量来一次替换多个列和多个值。

    print(df.replace({'age': {24: 100}}))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 CA 24

    # 2 Charlie 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 100 CA 88

    # 5 Frank 30 NY 57

    print(df.replace({'age': {24: 100, 18: 0}, 'point': {24: 50}}))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 CA 50

    # 2 Charlie 0 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 100 CA 88

    # 5 Frank 30 NY 57

    无法在列表中指定原始值和替换后的值。

    # print(df.replace({'age': [[24, 18], [100, 0]], 'point': {24: 50}}))

    # TypeError: If a nested mapping is passed, all values of the top level mapping must be mappings

    如果要用相同的值替换所有值,请在第一个参数中指定{column name:original value}字典,并在替换后的第二个参数中以标量值指定值。可以将第一个参数的原始值指定为列表。

    print(df.replace({'age': 24, 'point': 70}, 100))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 CA 24

    # 2 Charlie 18 CA 100

    # 3 Dave 68 TX 100

    # 4 Ellen 100 CA 88

    # 5 Frank 30 NY 57

    print(df.replace({'age': [24, 18], 'point': 70}, 100))

    # name age state point

    # 0 Alice 100 NY 64

    # 1 Bob 42 CA 24

    # 2 Charlie 100 CA 100

    # 3 Dave 68 TX 100

    # 4 Ellen 100 CA 88

    # 5 Frank 30 NY 57

    用正则表达式替换

    正则表达式可以与参数regex = True一起使用。

    例如,默认情况下,仅在元素值完全匹配时才替换元素值,因此即使它们部分匹配,也不会替换它们。

    print(df.replace('li', 'LI'))

    # name age state point

    # 0 Alice 24 NY 64

    # 1 Bob 42 CA 24

    # 2 Charlie 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 CA 88

    # 5 Frank 30 NY 57

    例如,如果要替换元素的部分字符串,则使用参数regex = True将其设置为正则表达式。

    ()中包含的部分可以在替换后按顺序用作组,例如\ 1和\ 2。

    print(df.replace('(.*)li(.*)', r'\1LI\2', regex=True))

    # name age state point

    # 0 ALIce 24 NY 64

    # 1 Bob 42 CA 24

    # 2 CharLIe 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 CA 88

    # 5 Frank 30 NY 57

    当regex = True时,将正则表达式模式指定为第一个参数,将替换后的字符串指定为第二个参数。

    如果要替换特定列元素的一部分字符串,也可以使用字符串方法str.replace()。

    df['name'] = df['name'].str.replace('li', 'LI')

    print(df)

    # name age state point

    # 0 ALIce 24 NY 64

    # 1 Bob 42 CA 24

    # 2 CharLIe 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 CA 88

    # 5 Frank 30 NY 57

    详情请参阅以下文章

    13_Pandas字符串的替换和空格处删除等方法

    替换缺失值NaN

    提供了一种名为fillna()的方法来替换缺失值NaN。

    尽管可以使用replace(),但fillna()可以根据行或列替换不同的值。

    详情请参阅以下文章

    05_Pandas删除,替换并提取其中的缺失值NaN

    变更原始项目

    默认情况下,将返回带有替换元素的新DataFrame,但是如果参数inplace = True,则将更改原始DataFrame。

    df = pd.read_csv('./data/24/sample_pandas_normal.csv')

    print(df)

    # name age state point

    # 0 Alice 24 NY 64

    # 1 Bob 42 CA 92

    # 2 Charlie 18 CA 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 CA 88

    # 5 Frank 30 NY 57

    df.replace('CA', 'California', inplace=True)

    print(df)

    # name age state point

    # 0 Alice 24 NY 64

    # 1 Bob 42 California 92

    # 2 Charlie 18 California 70

    # 3 Dave 68 TX 70

    # 4 Ellen 24 California 88

    # 5 Frank 30 NY 57

    展开全文
  • I was wondering if there is an equivalent way to add a row to a Series or DataFrame with a MultiIndex as there is with a single index, i.e. using .ix or .loc?I thought the natural way would be somethi...

    I was wondering if there is an equivalent way to add a row to a Series or DataFrame with a MultiIndex as there is with a single index, i.e. using .ix or .loc?

    I thought the natural way would be something like

    row_to_add = pd.MultiIndex.from_tuples()

    df.ix[row_to_add] = my_row

    but that raises a KeyError. I know I can use .append(), but I would find it much neater to use .ix[] or .loc[].

    here an example:

    >>> df = pd.DataFrame({'Time': [dt.datetime(2013,2,3,9,0,1), dt.datetime(2013,2,3,9,0,1)], 'hsec': [1,25], 'vals': [45,46]})

    >>> df

    Time hsec vals

    0 2013-02-03 09:00:01 1 45

    1 2013-02-03 09:00:01 25 46

    [2 rows x 3 columns]

    >>> df.set_index(['Time','hsec'],inplace=True)

    >>> ind = pd.MultiIndex.from_tuples([(dt.datetime(2013,2,3,9,0,2),0)],names=['Time','hsec'])

    >>> df.ix[ind] = 5

    Traceback (most recent call last):

    File "", line 1, in

    df.ix[ind] = 5

    File "C:\Program Files\Python27\lib\site-packages\pandas\core\indexing.py", line 96, in __setitem__

    indexer = self._convert_to_indexer(key, is_setter=True)

    File "C:\Program Files\Python27\lib\site-packages\pandas\core\indexing.py", line 967, in _convert_to_indexer

    raise KeyError('%s not in index' % objarr[mask])

    KeyError: "[(Timestamp('2013-02-03 09:00:02', tz=None), 0L)] not in index"

    解决方案

    You have to specify a tuple for the multi-indexing to work (AND you have to fully specify all axes, e.g. the : is necessary)

    In [26]: df.ix[(dt.datetime(2013,2,3,9,0,2),0),:] = 5

    In [27]: df

    Out[27]:

    vals

    Time hsec

    2013-02-03 09:00:01 1 45

    25 46

    2013-02-03 09:00:02 0 5

    Easier to reindex and/or concat/append a new dataframe though. Generally setting (with this kind of enlargement), only makes sense if you are doing it with a small number of values. As this makes a copy when you do this.

    展开全文
  • 目录 1访问和删除pandas series中的元素 1.1如何访问 Pandas Series 中的元素。...我们可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。 因为我们可...

    目录

    1  访问和删除pandas series中的元素

    1.1  如何访问 Pandas Series 中的元素。

    Pandas Series 的一大优势是我们能够以很多不同的方式访问数据。
    我们可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。
    因为我们可以使用数字索引,因此可以使用正整数从 Series 的开头访问数据,或使用负整数从末尾访问。

    In [1]:

    import pandas as pd
    

    In [2]:

    groceries = pd.Series(data=[30,6,'yes','no'], index = ['eggs','apples','milk','bread'])
    groceries
    

    Out[2]:

    eggs       30
    apples      6
    milk      yes
    bread      no
    dtype: object

    In [3]:

    groceries['eggs']
    

    Out[3]:

    30

    In [4]:

    groceries[['eggs','milk']]
    

    Out[4]:

    eggs     30
    milk    yes
    dtype: object

    In [5]:

    groceries[0]
    

    Out[5]:

    30

    In [6]:

    groceries[-1]
    

    Out[6]:

    'no'

    In [7]:

    groceries[[0,1]]
    

    Out[7]:

    eggs      30
    apples     6
    dtype: object

    因为我们可以通过多种方式访问元素,为了清晰地表明我们指代的是索引标签还是数字索引,Pandas Series 提供了两个属性 .loc 和 .iloc,帮助我们清晰地表明指代哪种情况。
    属性 .loc 表示 位置,用于明确表明我们使用的是标签索引。同样,属性 .iloc 表示整型位置,用于明确表明我们使用的是数字索引。我们来看一些示例:

    In [8]:

    groceries.iloc[[0,1]]
    

    Out[8]:

    eggs      30
    apples     6
    dtype: object

    In [9]:

    groceries.loc['eggs']
    

    Out[9]:

    30

    和 NumPy ndarray 一样,Pandas Series 也是可变的,也就是说,创建好 Pandas Series 后,我们可以更改其中的元素。
    例如,我们更改下购物清单中的鸡蛋购买数量。

    1.2  如何修改 Pandas Series 中的元素。

    In [10]:

    groceries['eggs'] = 2
    groceries
    

    Out[10]:

    eggs        2
    apples      6
    milk      yes
    bread      no
    dtype: object

    我们还可以使用 .drop() 方法删除 Pandas Series 中的条目。
    Series.drop(label) 方法会从给定 Series 中删除给定的 label。
    请注意,Series.drop(label) 方法不在原地地从 Series 中删除元素,即不会更改被修改的原始 Series。
    我们可以通过在 .drop() 方法中将关键字 inplace 设为 True,原地地从 Pandas Series 中删除条目。我们来看一个示例:

    In [11]:

    groceries.drop('apples',inplace=True)
    

    In [12]:

    groceries
    

    Out[12]:

    eggs       2
    milk     yes
    bread     no
    dtype: object
    展开全文
  • 可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。 因为我们可以使用数字索引,因此可以使用正整数从 Series 的开头访问数据,或使用负整数从末尾访问。 为了清晰地...
  • 24_Pandas.DataFrame,Series元素值的替换(replace) 要替换pandas.DataFrame,pandas.Series元素的值,请使用replace()方法。 这里,将描述以下内容。 替换元素 一次替换多个不同的元素 在字典中指定 在列表中...
  • 1. 查看名称, 重命名.name方法, 查看Series的名称. .rename()方法, 重命名import 数据类型为字符串, 原Series名称不变2. 查看Series头部数据, 尾部数据.head()方法, 查看Series头部(前几个)数据. .tail()方法, 查看...
  • 问题: 现在手中有一表格,其中一列数据长成下列格式:三个元素挤在一个单元格中,现在需要把这三个元素进行分隔开,生成新的三列,该如何办?前面介绍了str.split()方法和re.split()方法,利用这两个方法任意一种...
  • 随着我国农业的迅猛发展,新型水溶肥发展迅速。但目前一些水溶肥产品存在不少问题,亟待规范和提高。为规范水溶肥料行业,进一步提高水溶肥产品质量,...新标准增加了产品类型:由原来的只有一种大量元素水溶肥料...
  • 有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。二、用法1. tuple元组的定义Python的元组与列表类似,不同之处在于元组的元素...元组创建很简单,只需要在括号中添加元素,并使用逗号...
  • 在使用pandas对数据进行处理时,假设对于二维数组,每一行是一个数据,每一列是一个特征,可能需要对所有数据的特征进行一些缩放、平方、增加数值等操作。 本文中介绍的方式,将每一个特征都取出作为一个 Series 来...
  • Series

    2018-03-21 10:18:16
    x = Series( ['a', True, 1] ) x = Series( ['a', True, 1], index=['first', 'second', 'third'] ) 注意事项: 1、访问:根据位置进行访问。...4、在序列中,不能添加单个因素。 eg:a.appen...
  • 随着我国农业的迅猛发展,新型水溶肥发展迅速。但目前一些水溶肥产品存在不少问题,亟待规范和提高。...新标准增加了产品类型:由原来的只有一种大量元素水溶肥料(微量元素型),变更为大量元素水溶肥...
  • 随着我国农业的迅猛发展,新型水溶肥发展迅速。但目前一些水溶肥产品存在不少问题,亟待规范和提高。为规范水溶肥料行业,进一步提高水溶肥产品...新标准增加了产品类型:由原来的只有一种大量元素水溶肥料(微量元...
  • highcharts中动态添加series

    千次阅读 2016-11-10 16:10:22
    这个问题解决办法是: 1、定义一个数组; 2、将每次要保存的数据,添加到map中; 3、将map元素push到数组 4、highcharts的配置中直接series: 该数组 问题解决
  • 可以被看做由Series组成的字典 分别讲解 一、Series 1、利用单一数据列表创建Series s1_data 由结果可以看到,左侧为索引(默认索引,是自动添加的),右侧为数据。 2、创建一个含有标签索引的Series s2_data 3、...
  • 公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!小猿会从最基础的面试题开始,每天一题...
  • 二 pandas清洗数据一览数据面貌df获取查询数据末尾5行pd.value_counts(Series)统计Series中不同元素出现的次数data各个年级出现的次数reset_index将serives转化为dataframedata=data.reset_index()duplicated 定位...
  • 一、介绍pandas 是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作...2. pandas中提供了两种常见的数据类型:一维 Series二维 DataFram...
  • 数组是一种有序的集合,可以随时添加和删除其中的元素。可以使用append()函数数组末尾添加新的对象。也可以使用insert()函数将指定对象插入数组的指定位置。1、append()函数:append()函数语法:list.append(obj)...
  • df.fillna(x) # 将数据框 DataFrame 中的所有空值替换为 x s.fillna(s.mean()) -> 将所有空值替换为平均值 s.astype(float) # 将数组(Series)的格式转化为浮点数 s.replace(1,'one') # 将数组(Series)中的所有1替换...
  • #通过Series或dict来增加 s3 = s1.append(s2,ignore_index=True) #默认为False,添加什么就显示什么。 True表示为添加后的Series重新进行赋index值0- s3 = s2.append(pd.Series({"h":45})) #其实括号中的字典已经被...
  • 2、Series的创建方式。 # 使用列表,创建Series。 # 自己指定index,和数据类型,创建Series。 #通过字典创建Series(注意:字典中的键就是索引)。 3、Series索引和值。...4.2、修改Series元素的值。
  • title: D05|Series详解,从构造开始,深度解析Seriesauthor: Adolph Leecategories: 数据挖掘基础tags:Python数据挖掘基础PandasSeries​写在前面本文使用的是pandas0.25.3,从0.25开始起pandas将只支持Python3.53...
  • Python Pandas Series数据添加、选取、切片方法 1. 添加 与字典添加新的键值对操作相同。 2. 选取 通过对象直接选取 通过显式索引选取 通过隐式索引选取 3. 切片 我们可以将Series对象看做NumPy数组,因此...
  • 比如上面的Series对象a中,我们想要取里面所有字符串索引值为1的元素,可以写a.str.get(1): 点击添加图片描述(最多60个字)编辑 (2) 字符串拼接 Python中多个字符串对象拼接非常简单,直接使用加法运算符就可以了,...
  • 总结一下:创建Series的实例对象,有两种方式:一种是不指定Series构造函数的index,会自动有一个位置信息的index从0~len() -1自动为这个Series对象分配。另一种方式是常用字符列表作为Series对象的各个数据的标签...
  • js动态添加echarts 中series 第一种:数据和x轴说明分开 首先声明一个name var yearList=[2015,2016,2017,2018,2019,2020];//x轴说明文字 var arr_name=["北京","上海","天津","江苏","安徽","江西"];//每个...
  • pandas—Series操作

    万次阅读 2017-12-21 17:50:47
    选取操作Series对象支持查询方式: 位置下标 标签索引 切片索引 布尔型索引 from pandas import Series import pandas as pdseries1 = Series([10, 20, 30, 40], index=list('abcd'))# 通过位置查询 series1[2] #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,683
精华内容 7,073
关键字:

series增加元素