过滤不为空的数据

df[df['PLANR']=='']

获取某列某行数据(某个单元格数据)

df['MNG02'][0]

根据判断条件筛选数据

df[df['DAT00'] < temp_time]

获取整列数据集合

tmp_df.get('DAT00').unique()

从原来的dataFrame中提取需要的列 组成新的dataFrame

dataFrame[['col1','col2','col3']]

dataFrame进行分组

dataFrame.groupby(['col1','col2','col3']).sum()

重置索引

df.reset_index()

创建新DataFrame
新建一个字典,key作为列名
data = {'Name': ['mark', 'jack', 'james', 'kobe', 'alias'], 'Age': [13, 13, 14, 15, 16],
'Sex': ['F', 'F', 'M', 'M', 'M'],
'Job': ['wait', 'eat', 'computor', 'drink', 'sleep']}
pd.DataFrame(data) df['columnName'] 类型Serials
df[['columnName']] 类型DataFrame
df.shape (行数,列数) 添加新列
1.df['columnName'] = value
2.df.insert(columnIndex, 'columnName', 'value') 设置索引
df.set_index('columnName') 根据索引获取需要的行数据(没有索引获取不到)
df.loc['indexName'] type:Serials
df.loc[['indexName1','indexName2','indexName3']] type:DataFrame 根据行数获取需要的行数据
df.iloc['rowNumber'] type:Serials
df.iloc[['rowNumber1','rowNumber2','rowNumber3']] type:DataFrame 获取指定的行数和列数
df.iloc[:3, :4] 选取前3行和前4列
df.iloc[:, [4,6]] 选取两列的所有的行
df.iloc[[100, 200], [7, 15]] 选取不连续的行和列
df.loc[:, ['columnName1', 'columnName2']] loc实现同上功能 获取df中指定的数据值
df.iloc['rowNumber','colNumber']
df.loc['indexName','columnName'] 根据列名从原始数据集中抽取需要的数据,结果集(行数不变,列数减少)
df[['columnName1','columnName2','columnName3']] 根据bool值进行数据提取,条件必须是bool类型数组,并且数组的大小与行数一致
df[[True,True,False]] :获取前2行
df[df['Age'] == 12] :获取Age为12的行数据
df[(df['Age'] == 12) & (df['Name'] = 'jack')] :根据多个条件获取数据,括号必须,因为&运算符高于逻辑运算符 根据指定列进行排序
df.sort_values('columnName', ascending=False) ascending=False 降序 默认升序 数据去重
df.drop_duplicates(subset='columnName') subset:指定根据某列中的数据去重,默认采用全部数据列
""" """
Serials操作
ss = df['columnName'] 获取df中某一列,返回Serials 获取第几个值
ss.iloc['int']
ss['int'] 获取多个值
ss.iloc[['int1','int2','int3']]
ss[['int1','int2','int3']] loc只接收行索引标签(没有索引获取不到数据)
ss.loc['indexName'] 修改列名
df.rename(columns={'oldColumnName':'newColumnName'})
df.columns = ['newColumnName1', 'newColumnName2', 'newColumnName3'] 分组、聚合的多种方式
df.groupby(['columnName1','columnName2','columnName3']).sum()
df.groupby(['columnName1','columnName2']).agg({'columnName3':['f1','f2'],'columnName4:[f3,f4]'}) :通过2个字段进行分组后,指定columnName3和columnName4进行2种不同聚合函数的计算
df.groupby(['columnName1'])['columnName2','columnName3'].agg(['f1','f2']) 通过一个字段进行分组,指定2个字段进行指定的聚合函数计算 unstack('indexNumber') 行转列 参数 索引的level 比如 第一列索引输入0,第二列索引输入1,若只有2个索引,输入了2,异常,必须是索引列
unstack('indexName') stack('indexNumber') 列转行
stack('indexName') 列转行 pandas合并
数据直接合并,没有任何删减
pd1.concat(pd2) 4. concat, join, 和merge的区别
concat :
Pandas函数
可以垂直和水平地连接两个或多个pandas对象(唯一一个可以垂直合并的函数,append内部采用的也是concat函数)
只用索引对齐
索引出现重复值时会报错
默认是外连接(也可以设为内连接)
join :
DataFrame方法
只能水平连接两个或多个pandas对象
对齐是靠被调用的DataFrame的列索引或行索引和另一个对象的行索引(不能
是列索引)
通过笛卡尔积处理重复的索引值
默认是左连接(也可以设为内连接、外连接和右连接)
merge :
DataFrame方法
只能水平连接两个DataFrame对象
对齐是靠被调用的DataFrame的列或行索引和另一个DataFrame的列或行索引
通过笛卡尔积处理重复的索引值
默认是内连接(也可以设为左连接、外连接、右连接) pandas从数据库获取数据后,会将数据加载到内存,,差不多1g内存100w行数据
pandas到处数据至csv、hdf5,100w行/200M ------------------------------------------------------------------------------------
vaex
vaex的hdf5坑:vaex只支持自身保持的hdf5格式,所以需要使用vaex的hdf5功能,步骤如下:
1.先利用pandas获取需要的dataFrame
2.使用v1=vaex.from_pandas(dataFrame) 将dataFrame转换成vaex支持的dataFrame
3.将获取的数据集导出成vaex本身支持的hdf5 v1.export_hdf5('store.h5')
以上步骤就已经有了vaex本身支持的hdf5文件了,可以大胆的使用vaex来进行快速的数据分析了
加载
df = vaex.open('store.h5') vaex的操作基本都是毫秒级
df的过滤操作
cl_order[(cl_order.ITEM == '1160XW717') & (cl_order.CLOSE_TIME < np.datetime64(datetime(2019,10,2))) & (cl_order.CLOSE_TIME>=np.datetime64(datetime(2019,10,1)))]
vaex如果数据量大,那么在进行groupby的时候,几乎就不会动了 datetime64[ns]转datetime 需要先转到datetime64[s] np.datetime64(x,'s').item().hour x为datetime64[ns]对象,item()后为datetime对象

Pandas 记录的更多相关文章

  1. pandas记录

    pandas的map方法使用 import pandas as pd import numpy as np data = pd.DataFrame(np.random.randint(0, 10, ( ...

  2. Pandas dataframe 标记删除重复记录

    Pandas提供了duplicated.Index.duplicated.drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值.DataFrame ...

  3. Pandas标记删除重复记录

    Pandas提供了duplicated.Index.duplicated.drop_duplicates函数来标记及删除重复记录 duplicated函数用于标记Series中的值.DataFrame ...

  4. Python pandas 获取Excel重复记录

    pip install pandas pip install xlrd 大量记录的时候,用EXCEL排序处理比较费劲,EXCEL程序动不动就无响应了,用pands完美解决. # We will use ...

  5. #2 numpy pandas初步学习记录

    对numpy中的array进行了了解,array方法的取值arr_2d[0:2, 0:2] pandas 1,read_CSV方法 2,head方法 3,loc方法,取值前开后开, 4,replace ...

  6. Pandas 学习记录(一)

    1.DataFrame 按照列和按照行进行索引数据 按照列索引 df[’column_name’] 按照行索引 df.loc[’row_key’] 或 df.iloc[index] 2.先行后列索引单 ...

  7. 数据清洗记录,pandas

    pandas数据清洗:http://www.it165.net/pro/html/201405/14269.html data=pd.Series([1,2,3,4]) data.replace([1 ...

  8. pandas error记录随笔

    1.sys:1: DtypeWarning: Columns (0,1) have mixed types. Specify dtype option on import or 解决办法:PANDAS ...

  9. pandas删除满足特定列信息的行记录

    #!/usr/bin/python import pandas as pd df = pd.read_excel('c:\data\zichan.xlsx') df_sn = pd.read_exce ...

随机推荐

  1. 棋盘划分问题中4的k次方减一是三的倍数

    1.数学归纳法(万物皆可数学归纳) ①当n=1时:4-1=3(是三的倍数) ②假设n-1成立证明n成立:4n-1=4n-1*(4-1)+4n-1-1 =3*4n-1+(4n-1-1) 所以4n-1%3 ...

  2. Django 初试水(一)

    2020年注定是一个不平凡的一年!坚持就是胜利,一起加油! 至于为什么使用 Django,也不想说太多.个人喜欢,这里不做介绍.直接进入主题.show me the code!!! python 的环 ...

  3. hrtf virtual surround matlab实现

    将5.1 ch的数据经过hrtf处理,然后downmix到2ch,使得2ch的数据有virtual surround的效果. function output = hrir_process(input) ...

  4. js-时间相关的转换

    毫秒值 -> 时间 var date = new Date(1477386005*1000);

  5. Mapper-元素和属性

    Mapper.xml文件内部的元素和属性     parameterType(输入类型) §  传递简单类型 §  使用#{}占位符,或者${}进行sql拼接, #{}括号中的值可以任意, ${}括号 ...

  6. iterations 快捷键

    原帖:https://blog.csdn.net/Soinice/article/details/83505198 为了防止删除备份的. iterations 快捷键 Live Templates 其 ...

  7. Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板

    Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板 1.中间件(重要): 在Django的setting中有个MIDDLEWARE列表,里面的东 ...

  8. [NOIP2018(PJ)] 摆渡车

    题目链接 题意 有 $n$ 个同学在等车,每位同学从某时刻开始等车,相邻两趟车之间至少间隔 $m$ 分钟.凯凯可以任意安排发车时间,求所有同学等车时间之和的最小值. 分析 这题首先能想到是动态规划 很 ...

  9. 小议WebRTC拥塞控制算法:GCC介绍

    网络拥塞是基于IP协议的数据报交换网络中常见的一种网络传输问题,它对网络传输的质量有严重的影响,网络拥塞是导致网络吞吐降低,网络丢包等的主要原因之一,这些问题使得上层应用无法有效的利用网络带宽获得高质 ...

  10. 题解【洛谷P2341】 [HAOI2006]受欢迎的牛

    题面 题解 \(Tarjan\)缩点后统计每个点的出度. 如果有多个点出度为\(0\),就直接输出\(0\),否则输出出度为\(0\)的强连通分量里的点数. 代码 #include <iostr ...