这几天遇到比较多的dataframe操作,频繁使用,在此整理记录下,方便查找.

1.num为列的数字序号,name=df.columns[num],返回的是column的字符串名字,df[name]=df[df.columns[num]]=df['xxx']

2.关于panda中dataframe的与&运算,详情见我的博客,链接:https://www.cnblogs.com/Rvin/p/9504341.html
  df_am = df[ np.array(df['MDTime']>=93000000) & np.array(df['MDTime']<113000000) ]
 
3.to_numeric适用于series,对字符串进行数字格式化, errors='coerce',忽略不能转化的格式,例如
  格式化之前为S[2]='123',格式化结果为S[2]=123
  for i in range(df.shape[1]):
      df[df.columns[i]] = pd.to_numeric(df[df.columns[i]], errors='coerce')

4.drop方法及dropna方法
  df.drop([0], inplace=True)  # 删除列
  df.drop(df.columns[0], axis=1, inplace=True) # 删除列
  df.dropna(how='all',inplace=True, thresh=None)    # 这个是dropna的用法,how可选
      any-有一个na就符合条件,
      all--全部为na才符合条件,
      thresh参数(和how同级),thresh=5,大于5个符合条件
      inplace=True,替换原来的,不需要返回值了

5.isin方法
  df[~df.isin([np.nan, np.inf, -np.inf]).any(1)]
  isin([np.nan, np.inf, -np.inf])返回整个df的每个元素(元素是np.nan, np.inf, -np.inf,则返回True)True or False
  ~取反,因为我需要的是留住那些不是np.nan, np.inf, -np.inf的值,df[True]的元素还是返回原来的值,False的返回为nan,然后用fillna填充即可
 
6.json,想要json.loads,字符串的必须是"双引号,单引号无法加载
  str=re.sub('\'', '\"', str)

7.df的列改名,这样可以改对应的多个,index相同
  df.rename(columns={'时间':'MDTime','成交量':'PreVolume'})
  这样是从第一列重新命名,index相同
  df.columns = [list('abcd')]
 
8.转化df格式的问题
  我的stackoverflow的问题:https://stackoverflow.com/questions/52033359/transform-a-large-dataframe-takes-too-long/52033393?noredirect=1#comment91017865_52033393
  df = pd.pivot(df.index, df['stock_code'], df['price'])
  pivot,第一个参数为新df的index,第二个为新的columns,第三个为values

pandas操作,按序号取列,按条件筛选,df格式转换等的更多相关文章

  1. Pandas之csv文件对列行的相关操作

    1.Pandas对数据某一列删除 1.删除列 import pandas as pd df = pd.read_csv(file) #axis=1就是删除列 df.drop(['列名1','列名2'] ...

  2. Pandas 操作

    一.Series的创建: pd.Series([ 数据 ]) In [17]: import pandas as pd In [18]: import numpy as np In [19]: s = ...

  3. 整理pandas操作

    本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filename):从CSV文件导入 ...

  4. Python openpyxl、pandas操作Excel方法简介与具体实例

    本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据 ...

  5. pandas操作速查表

    准备工作 import numpy as np import pandas as pd 倒入文件或创建一个数据表 df = pd.DataFrame(pd.read_csv('name.csv',he ...

  6. pandas操作,感觉不错,复制过来的

    整理pandas操作 本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filenam ...

  7. python数据分析三剑客之: pandas操作

    pandas的操作 pandas的拼接操作 # pandas的拼接操作 级联 pd.concat , pd.append 合并 pd.merge , pd.join 一丶pd.concat()级联 # ...

  8. Python数据分析之Pandas操作大全

    从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...

  9. 数据分析之Pandas操作

    Pandas pandas需要导入 import pandas as pd from pandas import Series,DataFrame import numpy as np 1 Serie ...

随机推荐

  1. Object-C---&gt;Swift之(十一)属性观察者

    属性观察者机制能让程序在属性被赋值时获得运行代码的机会,用来监视属性的除初始化之外的属性值变化,当属性值发生改变时能够对此作出响应 详细包含两个特殊的回调方法: willSet(newValue):被 ...

  2. oracle 创建暂时表

    提交事务后会自己主动清空,不同的事务之间数据隔离 create global temporary table GLS_REPORT_EXPR (   EXPRNO VARCHAR2(30) not n ...

  3. 5313 [JL]判断邮箱地址 升级版

    5313 [JL]判断邮箱地址 升级版  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 正确的邮箱地 ...

  4. Data Url生成工具之HTML5 FileReader实现

    百度经验版本号:怎样用HTML5的FileReader生成Data Url 上一篇讲了:用Visual Studio 2010编写Data Url生成工具C#版 今天用HTML5 FileReader ...

  5. J - 玩游戏

    小A和小B玩游戏,初始的时候小A给小B一组包含n个数的数组.他们按如下的规则进行: 每次小B得到一组数,他把这组数的和加到自己的分数里面(他的初始分数是0),然后他把这组数还给小A. 如果小A得到的这 ...

  6. Android属性系统简介【转】

    本文转载自:http://www.cnblogs.com/l2rf/p/6610348.html 1.简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统.每个属性都有一个名 ...

  7. bzoj 1022 小约翰的游戏John

    题目大意: n堆石子,两个人轮流取石子,每个人取的时候,可以随意选择一堆石子 在这堆石子中取走任意多的石子,但不能一粒石子也不取,取到最后一粒石子的人算输 思路: 首先当每堆石子数都为1时,偶数为先手 ...

  8. bzoj2300

    http://www.lydsy.com/JudgeOnline/problem.php?id=2300 终于对了... 平衡树又写挂了...不要忘记清空原先的root和修改root... #incl ...

  9. Android Studio笔记

    1. toolbar xml: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:la ...

  10. 原生方式实现Ajax技术

    一:什么是Ajax? Ajax:异步的JavaScript和XML,用于完成网页局部刷新功能(修改少量数据只用局部刷新,不用再整个网页重新加载): XML的作用:1.是用于数据传输,但现在都在使用JS ...