python中iloc切片_python选取特定列pandasiloc,loc,icol的。。。

python中iloc切⽚_python选取特定列pandasiloc,loc,icol的。。
珍珠岩膨胀炉
python选取特定列 pandas iloc,loc,icol的使⽤详解(列切⽚及⾏切⽚)
df是⼀个dataframe,列名为A B C D
具体值如下:
A B C D
0 ss ⼩红 8
1 aa ⼩明 d
4 f f
6 ak ⼩紫 7
dataframe⾥的属性是不定的,空值默认为NA。
⼀、选取标签为A和C的列,并且选完类型还是dataframe
df = df.loc[:, ['A', 'C']]
df = df.iloc[:, [0, 2]]
⼆、选取标签为C并且只取前两⾏,选完类型还是dataframe
迎宾机器人df = df.loc[0:2, ['A', 'C']]
df = df.iloc[0:2, [0, 2]]
聪明的朋友已经看出iloc和loc的不同了:loc是根据dataframe的具体标签选取列,⽽iloc是根据标签所在的位置,从0开始计数。
","前⾯的":"表⽰选取整列,第⼆个⽰例中的的0:2表⽰选取第0⾏到第⼆⾏,这⾥的0:2相当于[0,2)前闭后开,2是不在范围之内的。
视频会商
需要注意的是,如果是df = df.loc[0:2, ['A', 'C']]或者df = df.loc[0:2, ['A', 'C']],切⽚之后类型依旧是dataframe,不能直接进⾏
加减乘除等操作的,⽐如dataframe的⼀列是数学成绩(shuxue),另⼀列为语⽂成绩(yuwen),现在需要求两门课程的总和。可以使⽤
df['shuxue'] + df['yuwen'](选取完之后类型为series)来获得总分,⽽不能使⽤df.iloc[:,[2]]+df.iloc[:,[1]]或df.iloc[:,
['shuxue']]+df.iloc[:,['yuwen']],这会产⽣错误结果。
还有⼀种⽅式是使⽤df.icol(i)来选取列,选取完的也不是dataframe⽽是series,i为该列所在的位置,从0开始计数。
如果你想要选取某⼀⾏的数据,可以使⽤df.loc[[i]]或者df.iloc[[i]]。
以上这篇python选取特定列 pandas iloc,loc,icol的使⽤详解(列切⽚及⾏切⽚)就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
sata连接器时间: 2019-08-03
SQL中的select是根据列的名称来选取:Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第⼏⾏第⼏列,注意pandas⾏列的position是从0开始)选取.相关函数如下: 1)loc,
基于列label,可选取特定⾏(根据⾏index): 2)iloc,基于⾏/列的position: 3)at,根据指定⾏index及列label,快速定位DataFrame的元素: 4)iat,与at类似,不同的是根据position来定位的: 5)ix,为loc与i
⼀开始⾃学Python的numpy.pandas时候,索引和切⽚把我都给弄晕了,特别是numpy的切⽚索引.布尔索引和花式索引,简直就是⼤乱⽃.但是最近由于版本的问题,从之前的Python2.7改⽤Python3.6 了,在3.6中提供了loc和iloc两种索引⽅法,把ix这个⽅法给划分开来了,所以很有必要做个总结和对⽐. loc--通过⾏标签索引⾏数据 iloc--通过⾏号索引⾏数据 ix--通过⾏标签或者⾏号索引⾏数据(基于loc和iloc 的混合) 同理,索引列数据也是如此! 举例说明:
Dataframe使⽤loc取某⼏⾏⼏列的数据: print(df.loc[0:4,
['item_price_level','item_sales_level','item_collected_level','item_pv_level']]) 结果如下,取了index为0到4的五⾏四列数据.
item_price_level item_sales_level item_collected_level item_pv_level 0 3 3 4 14 1 3 3 4 14 2 3 3 4 14
相信很多⼈像我⼀样在学习python,pandas过程中对数据的选取和修改有很⼤的困惑(也许是深受Matlab)的影响... 到今天终于完全搞清楚
了 先⼿⼯⽣出⼀个数据框吧 import numpy as np import pandas as pd df =
pd.DataFrame(np.arange(0,60,2).reshape(10,3),columns=list('abc')) df 是这样⼦滴 那么这三种选取数据的⽅式该怎么选择呢? ⼀.
当每列已有column name时,⽤
concat 与其说是连接,更准确的说是拼接.就是把两个表直接合在⼀起.于是有⼀个突出的问题,是横向拼接还是纵向拼接,所以concat 函数的
关键参数是axis . 函数的具体参数是:
concat(objs,axis=0,join='outer',join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verigy_integrity=False) objs 是需要拼接的对象集合,⼀般为列表或者字典 axis=0 是
pandas.DataFrame选取特定⾏ 使⽤Python进⾏数据分析时,经常要使⽤到的⼀个数据结构就是pandas的DataFrame,如果我们想要像
Excel的筛选那样,只要其中的⼀⾏或某⼏⾏,可以使⽤isin()⽅法,将需要的⾏的值以列表⽅式传⼊,还可以传⼊字典,指定列进⾏筛选. >>> df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB', 'AH'], ['HEN', 'HEN', 'HL
雪莲生发液
0.摘要 pandas中DataFrame类型中,出所有有空值的⾏,可以使⽤.isnull()⽅法和.any()⽅法. 1.出含有空值的⾏ ⽅
法:DataFrame[DataFrame.isnull().T.any()] 其中,isnull()能够判断数据中元素是否为空值:T为转置:any()判断该⾏是否有空值. import pandas as pd import numpy as np n = np.arange(20, dtype=float).reshape(5,4) n[2,3]
有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现.操作的对象通常是Series. Ipython中的交互代码
拉挤模具如下: In [17]: from pandas import Series,DataFrame In [18]: series1 = Series(range(2),index = ['a','b']) In [19]: series2 =
Series(range(3),index = ['c','d','e']) In [20]: serie
官⽅函数 DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is
primarily label based,
but may also be used with a boolean array. # 可以使⽤label值,但是也可以使⽤布尔值 Allowed inputs are: # 可以接受单个的label,多
个label的列表,多个label的切⽚ A singl
今天笔者想对pandas中的⾏进⾏去重操作,了好久,才到相关的函数 先看⼀个⼩例⼦ from pandas import Series, DataFrame data
= DataFrame({'k': [1, 1, 2, 2]}) print data IsDuplicated = data.duplicated() print IsDuplicated print type(IsDuplicated) data =
data.drop_duplicates() print data 执⾏
如下dataframe想要删除多层index top1000[:10] name sex births year prop year sex 1880 F 0 Mary F 7065 1880 0.077643
1 Anna F 2604 1880 0.028618
2 Emma F 200
3 1880 0.022013 3 Elizabeth F 1939 1880 0.021309
4 Minnie F 1746
1880 0.019188 5 Margaret F 1578 1880 0.
Pandas DataFrame 取⼀⾏数据会得到Series的⽅法 如题,想要取如下dataframe的⼀⾏数据,以为得到的还是dataframe lista = [1, 3,
7,4,0] listb = [3, 3, 4,4,5] listc = [3, 3, 4,4,6] df1 = pd.DataFrame({'col1':lista,'col2':listb,'colb':listc}) print(df1)
print(df1.loc[0,:]) print(type(df1.lo

本文发布于:2024-09-21 15:42:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/106677.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   选取   拼接   空值   开始   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议