精华内容
下载资源
问答
  • df=df.reset_index(drop=True)

    千次阅读 2019-04-18 00:21:00
    df=df.reset_index(drop=True) ============ df = pd.read_csv('./train_file/train.csv').dropna()df_test = df.sample(frac=0.2, random_state=123456)df_train = df.drop(df_test.index) 转载于:...

    df=df.reset_index(drop=True)

    ============

    df = pd.read_csv('./train_file/train.csv').dropna()
    df_test = df.sample(frac=0.2, random_state=123456)
    df_train = df.drop(df_test.index)

     

    转载于:https://www.cnblogs.com/yjybupt/p/10727198.html

    展开全文
  • df.reset_index( ) 由于groupby函数不能对index进行组合,可以reset_index()把index变成columns后在进行groupby的计算: # 先把MMR 的表格走一个pivot_table: pivot = pd.pivot_table(mmr, index = ['Sales','strat....

    df.reset_index( )

    由于groupby函数不能对index进行组合,可以reset_index()把index变成columns后在进行groupby的计算:

    # 先把MMR 的表格走一个pivot_table:
    pivot = pd.pivot_table(mmr, index = ['Sales','strat.business field'],
                           columns = 'Period/year', values = 'Net sales in CHF',
                           aggfunc = np.sum)                 
    

    把原来的index删除,df.reset_index(inplace = True)

    pivot.reset_index(inplace = True)
    
    pivot.columns
    Out[22]: Index(['Sales', 'strat.business field', 2020.001, 2020.0020000000002], dtype='object', name='Period/year')
    
    pivot.index
    Out[23]: RangeIndex(start=0, stop=45, step=1)
    

    设置一列,多列为新的index:

    pivot.set_index('Sales',inplace = True)
    pivot.set_index(['Sales','strat.business field'],inplace = True)

    创建一个df练习groupby & pivot_table:

    name1 = 'jack jack bob bob tom'.split()
    date1 = 'day1 day2 day1 day2 day1'.split()
    df = pd.DataFrame({'name':name1,'date':date1,'values':[2,4,3,2,5]})

    用groupby 统计每个人的数字:

    df.groupby('name')['values'].sum()
    Out[30]: 
    name
    bob     5
    jack    6
    tom     5
    Name: values, dtype: int64
    

    用pivot_table统计上面的数据:

    pd.pivot_table(df,index = 'name',values = 'values',aggfunc = np.sum)
    Out[32]: 
          values
    name        
    bob        5
    jack       6
    tom        5
    
    #带入日期作为columns:
    df1 = pd.pivot_table(df,index = 'name', values = 'values', columns = 'date',aggfunc = np.sum)
    df1.fillna(0)
    Out[36]: 
    date  day1  day2
    name            
    bob    3.0   2.0
    jack   2.0   4.0
    tom    5.0   0.0
    
    
    展开全文
  • 文章目录1.pandas.DataFrame.query官方案例2.pandas.DataFrame.reset_index官方案例将reset_index与MultiIndex一起使用 1.pandas.DataFrame.query 官网 DataFrame.query(expr, inplace=False, **kwargs) 描述 使用...

    1.pandas.DataFrame.query

    官网

    DataFrame.query(expr, inplace=False, **kwargs)
    

    描述

    使用布尔表达式查询DataFrame的列

    参数

    expr : str
    要计算的查询字符串

    inplace : bool
    查询是应该修改数据还是返回修改后的副本

    **kwargs

    返回

    DataFrame or None
    由提供的查询表达式生成的DataFrame;如果inplace = True,则为None

    官方案例

    df = pd.DataFrame({'A': range(1, 6),
                       'B': range(10, 0, -2),
                       'C C': range(10, 5, -1)})
                       
    df
       A   B  C C
    0  1  10   10
    1  2   8    9
    2  3   6    8
    3  4   4    7
    4  5   2    6
    
    
    df.query('A > B')
       A  B  C C
    4  5  2    6
    
    # 前面的表达式等价于
    df[df.A > df.B]
       A  B  C C
    4  5  2    6
    
    
    # 对于名称中有空格的列,可以使用反引号
    df.query('B == `C C`')
       A   B  C C
    0  1  10   10
    
    # 前面的表达式等价于
    df.query('B == `C C`')
       A   B  C C
    0  1  10   10
    

    2.pandas.DataFrame.reset_index

    官网

    DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
    

    描述

    重置索引或索引的级别。
    重置DataFrame的索引,并使用默认索引。
    如果DataFrame具有MultiIndex,则此方法可以删除一个或多个级别
    

    参数

    level : int, str, tuple, or list, default None
    仅从索引中删除给定的级别,默认情况下删除所有级别。

    drop : bool, default False
    不要尝试将索引插入dataframe columns,这会将索引重置为默认的整数索引

    inplace : bool, default False
    if True,则在原对象上修改
    if False, 则返回修改后的对象

    col_level : int or str, default 0
    如果列有多个级别,请确定将标签插入到哪个级别。默认情况下,它被插入第一级。

    col_fill : object, default ‘’
    如果列具有多个级别,请确定如何命名其他级别。如果为None,则重复索引名称。

    返回

    DataFrame or None
    if False,具有新索引的DataFrame;如果inplace = True,则为None

    官方案例

    在这里插入图片描述
    重置索引时,会将旧索引添加为列,并使用新的顺序索引
    在这里插入图片描述
    我们可以使用drop参数来避免将旧索引添加为列

    将reset_index与MultiIndex一起使用

    在这里插入图片描述
    在这里插入图片描述
    如果我们不删除索引,则默认情况下,它位于顶层。
    我们可以将其放在另一个级别:

    在这里插入图片描述
    当索引插入到另一个级别下时,我们可以使用参数col_fill指定哪个级别
    在这里插入图片描述
    如果我们为col_fill指定了不存在的级别,则会创建它
    在这里插入图片描述

    展开全文
  • pandas学习之df.set_index

    千次阅读 2020-07-17 08:46:58
    处理数据时,经常需要对索引进行处理,那么可以通过set_indexreset_index来进行处理 官方文档 DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False) 参数解释 ...

    pandas学习之pd.set_index()

    处理数据时,经常需要对索引进行处理,那么可以通过set_index和reset_index来进行处理

    官方文档

    DataFrame.set_index(self, keys, drop=True, append=False, inplace=False, verify_integrity=False)

    参数解释

    1. 构建实例
    import pandas as pd
    df = pd.DataFrame(data={'height':[178,171,185,196],'weight':[156,90,140,142],
    						'name':['小王','小明','小绿','小红']})
    df
    
    	height	weight	name
    0	178		156		小王
    1	171		90		小明
    2	185		140		小绿
    3	196		142		小红
    
    1. key:label array-like or list of label/arrays
      需要设置成索引的数据,可以使一个标签,数组,或者标签或数组的列表
    df.set_index('name')#指定某一列为索引
    
    	height	weight
    name		
    小王	178		156
    小明	171		90
    小绿	185		140
    小红	196		142
    
    1. drop:bool,default True
      是否删除作为索引使用的列,默认True,即删除做为索引的列
    df.set_index('name',drop=False)
    
    		height	weight	name
    name			
    小王	178		156		小王
    小明	171		90		小明
    小绿	185		140		小绿
    小红	196		142		小红
    
    1. append:bool default False
      将序列添加到索引中,形成多级序列
    df.set_index(df['name'],append = True)
    
    
    			height	weight	name
    	name			
    0	小王	178		156		小王
    1	小明	171		90		小明
    2	小绿	185		140		小绿
    3	小红	196		142		小红
    # 前两列都为索引
    
    1. inplace:bool default False
      将结果返回为原变量
    df#原df
    
    	height	weight	name
    0	178		156		小王
    1	171		90		小明
    2	185		140		小绿
    3	196		142		小红
    
    df.set_index(df['name'],append = True,inplace = True)
    			height	weight	name
    	name			
    0	小王	178		156		小王
    1	小明	171		90		小明
    2	小绿	185		140		小绿
    3	小红	196		142		小红
    
    df#无需对df重新赋值,df即为上边代码的结果
    			height	weight	name
    	name			
    0	小王	178		156		小王
    1	小明	171		90		小明
    2	小绿	185		140		小绿
    3	小红	196		142		小红
    
    1. verify_integrity:bool default False
      检查索引是否重复。默认是False。
    展开全文
  • pandas.DataFrame.reset_index

    2018-02-01 14:42:04
    DataFrame.reset_index(level=None,drop=False,inplace=False,col_level=0,col_fill='')[source] For DataFrame with multi-level index, return new DataFrame with labeling informatio...
  • pandas.DataFrame.reset_index() dataframe数据准备 import pandas as pd d={ "cat":[4,"mimi","fish"], "dog":[6,"wangcai","bone"], "monkey":[8,"king","banana"], "tiger":[2,"Simba","meat"] } i=["age",...
  • loctionplace.reset_index(drop=True,inplace=True)@TOC
  • df使用reset_index方法: 可以看到原来的索引变成了数据中的一列,并且系统自动为原来的索引列命名为index,因为在DateFrame中每一列数据必须有列名,而索引列原来是没有列名的,所以在转为数据后需要要补一个列名...
  • groupby.agg('sum).reset_index()妙用

    千次阅读 2018-05-31 22:55:41
    @python data Out[22]: data key1 key2 0 1 a one 1 2 a two 2 3 b one 3 4 c three 4 5 c one data.groupby(['key1','key2']).agg('sum').reset_index() O...
  • 数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。 import pandas as pd import numpy as np df = pd.DataFrame(np.arange(20).reshape(5,4),...
  • pandas 中的函数—— .reset_index()

    万次阅读 2019-07-31 09:52:02
    话不多说,直接上例子:
  • df = pd.DataFrame(data={"month":[1,2,3,4],"year":[2020,2020,2020,2020],"day":[1,1,1,1]}) print(df) df.set_index(['year','month']) print(df) df.reset_index(list(range(10,20)) 结果都是一样的,: month ...
  • df.drop_duplicates() DataFrame.drop_duplicates(self, subset=None, keep=‘first’, inplace=False) 参数: subset : column label or sequence of labels, optional Only consider certain columns for ...
  • set_indexreset_index

    2021-08-15 14:48:40
    1.set_index ...默认状态直接恢复到自然数索引:df.reset_index() 用level参数指定哪一层被reset,用col_level参数指定set到哪一层 https://www.cnblogs.com/cgmcoding/p/13691142.html https://www.cnblogs
  • pandas中关于set_indexreset_index的用法

    万次阅读 多人点赞 2017-10-05 20:51:30
    1.set_index DataFrame可以通过set_index方法,可以设置单索引和复合索引。 DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) append添加新索引,drop为False,in...
  • 函数reset_index():重置DataFrame 索引

    千次阅读 2019-09-07 15:33:31
    在应用DataFrame的drop_duplicates()后,虽然删除了重复值,但索引未变,因此应用以下方法进行重置索引。 1、重置索引 通过reset_index()方法我们可以重置索引,drop...df.reset_index(inplace=True,drop=True...
  • 1.set_index() DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) append添加新索引,drop为...2.reset_index 可以还原索引,重新变为默认的整型索引 3.reindex ...
  • reset_index()

    千次阅读 2018-05-13 21:14:00
    对pandas重置reset_index()df = df.reset_index(drop=True)reset_index将索引恢复成数据列后,该列的名称显示为index,但是我用df['index']提取这列数据时,却提示KeyError: 'index'。请问要如何才能取到这列数,...
  • 当我们在清洗数据时往往会将带有空值的行删除,不论是DataFrame还是Series的index都将不再是连续的索引了,那么这个时候我们可以使用reset_index()方法来重置它们的索引,以便后续的操作。 DF = pd.read_csv('...
  • DF表的索引为第一列的值,对该表使用reset_index()方法后,会将旧索引添加为列,并使用新的顺序索引,效果如下: 还可使用drop参数直接删除旧索引,不将其添加为该DF表的列: ...
  • 对pandas重置reset_index()

    万次阅读 2017-02-25 15:45:17
    df = df.reset_index(drop=True)
  • 本篇介绍dataframe索引用法 索引基本操作 df.columns = [list1] #列索引 aka 字段名 df.index = [list2] #行索引 aka 每行记录索引 #设置索引 df.set_index('col_name') ...df.reset_index(level=None, dr.
  • DataFrame中set_index()与reset_index()案例详解

    万次阅读 多人点赞 2018-11-15 00:32:58
    DataFrame中set_index()与reset_index()案例详解 set_index() 官方文档 DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False) keys 单个或多个(Multiindex)列名 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,260
精华内容 8,504
关键字:

df.reset_index