pandas 索引与列相互转化】的更多相关文章

1. 准备数据 import pandas as pd from io import StringIO csv_txt = '''"date","player1","player2","score1","score2" "2017-06-05","张继科","林思远",3,2 "2017-06-06","丁宁"…
如何从基于pandas中某些列的值的DataFrame中选择行?在SQL中我将使用: select * from table where colume_name = some_value. 我试图看看熊猫文档,但没有立即找到答案.   要选择列值等于标量some​​_value的行,请使用==: df.loc[df['column_name'] == some_value] 要选择其列值在可迭代值some_values中的行,请使用isin: df.loc[df['column_name'].i…
Series和Datafram索引的原理一样,我们以Dataframe的索引为主来学习 列索引:df['列名'] (Series不存在列索引) 行索引:df.loc[].df.iloc[] 选择列 / 选择行 / 切片 / 布尔判断 import numpy as np import pandas as pd # 导入numpy.pandas模块 # 选择行与列 df = pd.DataFrame(np.random.rand(12).reshape(3,4)*100, index = ['on…
楔子 笔者曾经碰到过两种格式的数据,当时确实把我难住了,最后虽然解决了,但是方法不够优雅,而且效率也不高,如果想高效率,那么就必须使用pandas提供的方法.而pandas作为很强的一个库,一定可以优雅地解决.当时用自己的方法解决之后,就没有之后了.但是最近又碰到了当时的情况,于是决定要优雅地解决,最后经过努力总算找到了解决的办法,下面先来看看当时难住笔者的两种格式的数据.以及需求吧. 需求一: 有以下格式的数据: 姓名 科目 成绩 小红 语文 90 小红 数学 90 小红 英语 90 小胖 语…
清除oralce 缓存:alter system flush buffer_cache; 环境:oracle 10g . 400万条数据,频率5分钟一条 1.应用场景:  找出所有站点的最新一条数据.sql语句如下: —————————————————————————————————————————————————— with aa as( select t1.EQP_ID ,max(MEASURE_TIME) maxtm from PLU_WATER_DATA t1 where t1.MEAS…
修改分区表主键时报错: 在行: 2 上开始执行命令时出错 -alter table KC23 modify AAZ210 VARCHAR2(50)错误报告 -SQL 错误: ORA-14061: 不能更改索引分区列的数据类型或长度14061. 00000 -  "data type or length of an index partitioning column may not be changed"*Cause:    User issued ALTER TABLE stateme…
Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data = pd.read_csv(filepath) 查看列中的值类型及个数 data['unit name'].value_counts() 若列的行数超过屏幕显示,设置display.max_rows 若列的列数超过屏幕显示,设置display.max_columns 设置显示20行 pd.set_…
# pandas新增数据列(直接赋值.apply.assign.分条件赋值) # pandas在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析 # 1 直接赋值 # 2 df.apply方法 # 3 df.assig方法 # 4 按条件选择分组分别赋值 import pandas as pd # 0 读取csv数据到dataframe df = pd.read_csv("beijing_tianqi_2018.csv") print(df.head()) # 1…
1. 删除列层次化索引 用pandas利用df.groupby.agg() 做聚合运算时遇到一个问题:产生了列方向上的两级索引,且需要删除一级索引.具体代码如下: # 每个uesr每天消费金额统计:和.均值.最大值.最小值.消费次数.消费种类. action_info = student_action.groupby(['outid','date']).agg({'opfare':['sum','mean','max','min'], 'acccode':['count','unique'],}…
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stackoverflow.com/questions/tagged/pandas?sort=votes&pageSize=15 Delete column from pandas DataFrame - 删除列 stackoverflow 地址:https://stackoverflow.com/quest…
在本章中,我们将讨论如何切割和丢弃日期,并获取Pandas中大对象的子集. Python和NumPy索引运算符"[]"和属性运算符".". 可以在广泛的用例中快速轻松地访问Pandas数据结构.然而,由于要访问的数据类型不是预先知道的,所以直接使用标准运算符具有一些优化限制.对于生产环境的代码,我们建议利用本章介绍的优化Pandas数据访问方法. Pandas现在支持三种类型的多轴索引; 这三种类型在下表中提到 - 编号 索引 描述 1 .loc() 基于标签 2…
Pandas的索引操作 索引对象Index 1. Series和DataFrame中的索引都是Index对象 示例代码: print(type(ser_obj.index)) print(type(df_obj2.index)) print(df_obj2.index) 运行结果: <class 'pandas.indexes.range.RangeIndex'> <class 'pandas.indexes.numeric.Int64Index'> Int64Index([0,…
import pandas as pd import numpy as np s = pd.Series(np.random.rand(5), index=list('abcde')) # 创建序列,其中 index=list('abcde')为每一行添加索引 s.index.name='alpha' # 为行索引添加名称标签 df = pd.DataFrame(np.random.randn(4,3), columns=['one','two','three']) # 创建DataFrame,…
Series索引的工作方式类似于NumPy数组的索引,不过Series的索引值不只是整数,如: import numpy as np import pandas as pd from pandas import Series,DataFrame obj=Series(np.arange(4),index=['a','b','c','d']) obj=Series(np.arange(4),index=['a','b','c','d']) obj Out[10]: a 0 b 1 c 2 d 3…
import pandas as pd import numpy as np df = pd.DataFrame(np.arange(15).reshape(5, 3), columns=['a', 'b', 'c']) # 输出df: a b c 0 0 1 2 1 3 4 5 2 6 7 8 3 9 10 11 4 12 13 14 # 在a.b列之间插入d列 insert_data = [6, 6, 6, 6, 6] # 插入的数据,可以是列表.元组.range产生的序列等 df.inse…
包含列解析所谓的包含列就是包含在非聚集索引中,并且不是索引列中的列.或者说的更通俗一点就是:把一些底层数据表的数据列包含在非聚集索引的索引页中,而这些数据列又不是索引列,那么这些列就是包含列.同时,这些包含列并不会对索引中的条目有影响.好吧,为了使得问题稍微清楚一点,我用个简单的图示说明一下: 我们可以用下面的语句在创建索引的时候加入包含列,代码如下: 双击代码全选 1 2 3 CREATE NONCLUSTERED INDEX FK_ProductID_ ModifiedDate ON Sal…
先看一个非常简单的例子: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) 有什么方法可以将列转换为适当的类型?例如,上面的例子,如何将列2和3转为浮点数?有没有办法将数据转换为DataFrame格式时指定类型?或者是创建DataFrame,然后通过某种方法更改每列的类型?理想情况下,希望以动态的方式做到这一点,因为可以有数百个列,明确指定哪些列是哪种类型太麻烦.可以假定每列都…
import pandas as pd import numpy as np a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) df.dtypes 0 object 1 object 2 object dtype: object 数据框(data.frame)是最常用的数据结构,用于存储二维表(即关系表)的数据,每一列存储的数据类型必须相同,不同数据列的数据类型可以相同,也可以…
一.表的统计信息 表的统计信息用于描述表的详细信息,包括记录数(num_rows).表块的数量(blocks).平均行长度(avg_row_len)等典型维度.这些维度可以通过数据字典表DBA_TABLES.DBA_TAB_PARTITIONS和DBA_TAB_SUBPARTITIONS来分别查看表.分区表的分区和分区表的子分区的统计信息. 二.索引的统计信息 索引的统计信息描述了索引的详细信息,它包含了索引的层级(blevel).叶子块数量(leaf_blocks).聚簇因子(clusteri…
1. 从字典创建DataFrame >>> import pandas >>> dict_a = {'],'mark_date':['2017-03-07','2017-03-07','2017-03-07']} >>> df = pandas.DataFrame(dict_a) # 从字典创建DataFrame >>> df # 创建好的df列名默认按首字母顺序排序,和字典中的先后顺序并不一样,字典中是'user_id','book…
Series结构 筛选数据 指定值 备注:查找出指定数值的索引和数值. 逻辑运算 备注:查找出值大于2的数据. 复合索引 DataFrame结构 显示指定列 筛选显示 备注:值小于0的显示原值,否则显示空值. 备注:值小于0的显示原值,否则显示原值的负数. 备注:显示a<b的行. 备注:显示a<b且b<c的行.…
显示DataFrame结构中的指定列 使用iloc索引 指定一行的信息 指定多行信息 备注:第[1,5)行信息. 指定行和列 备注:第[0,5)行中第[1,3)列信息. 使用loc索引 指定行信息 备注:设置"Name"列为索引,显示"Name"为"Heikkinen,Miss.Laina"的信息. 获取指定行和列的值 备注:"Name"为"Heikkinen,Miss.Laina"的"Fare&…
# 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某一类型的数值 用 isin df.loc[df['column_name'].isin(some_values)] # 多种条件的选取 用 & df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)] # 选取不等于某些值的行记录 用 != df.loc[df[…
例子: df = pd.DataFrame() df['A'] = [1, 1, 2] df['B'] = [datetime.date(2018, 1, 2), datetime.date(2018, 1, 3), datetime.date(2018, 1, 3)] df['C'] = df.groupby('A').B.diff() df['C'] = df.C.dt.days 报错: Traceback (most recent call last): File "D:\python_v…
###df_18的字段fuek是否包含 / df_18[df_18['fuel'].str.contains('/')] 报错: ValueError Traceback (most recent call last) in () 1 # 检查是否已删除----> 2 df_18[df_18['fuel'].str.contains('/')] /opt/conda/lib/python3.6/site-packages/pandas/core/frame.py in getitem(self,…
# 选取等于某些值的行记录 用 == df.loc[df['column_name'] == some_value] # 选取某列是否是某一类型的数值 用 isin df.loc[df['column_name'].isin(some_values)] # 多种条件的选取 用 & df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)] # 选取不等于某些值的行记录 用 != df.loc[df[…
MySQL索引的索引长度问题   MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制. 在MyISAM表中,创建组合索引时,创建的索引长度不能超过1000,注意这里索引的长度的计算是根据表字段设定的长度来标量的,例如:create table test(id int,name1 varchar(300),name2 varchar(300),name3 varchar(500))charset=latin1 engine=myisam;create index…
测试集大小: test.shape(898, 11) 对某列的字符串做统计长度1.for遍历法:start = time.time()for i in test.index.values: test.loc[i,'contentLen1'] = len(test.loc[i,'content'])time.time() - start 47.16238021850586 2.使用pandas的内置方法.str%time test['contentLen2'] = test['content'].…
有的时候,表格自带的数据根本没有办法满足我们,我们经常会新加一列数据或者对原有的数据进行修改 还是接着上篇文章的数据进行操作 直接赋值 我想算一下每一天的温差 df.loc[:, 'wencha'] = df['wendu_max'] - df['wendu_min'] wendu_min wendu_max weather fengji wencha data 2020-01-01 1 15 晴 1 14 2020-01-02 1 16 多云 2 15 2020-01-03 1 17 小雨 4…
选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.loc[label] Series 基于行名.列名(行.列的标签),默认为df.loc(axis=0)[label] 用函数选择行 df.loc[lambda,lambda] Series 基于行名.列名(行.列的数值),默认为df.loc(axix=0)[lambda] 用整数位置选择行 df.il…