python DataFrame获取行数、列数、索引及第几行第几列的值 - 小众知识

python DataFrame获取行数、列数、索引及第几行第几列的值

2013年01月27日 14:18:05 苏内容
  标签: python/DataFrame
阅读:7328

1、 
df=DataFrame([{‘A’:’11’,’B’:’12’},{‘A’:’111’,’B’:’121’},{‘A’:’1111’,’B’:’1211’}])

print df.columns.size#列数 2
print df.iloc[:,0].size#行数 3
print df.ix[[0]].index.values[0]#索引值 0
print df.ix[[0]].values[0][0]#第一行第一列的值 11
print df.ix[[1]].values[0][1]#第二行第二列的值 121

以下实验中的train.csv文件使用Digit Recognizer中的训练数据集

import pandas as pd  # 引用pandas库import numpy as np # 引用Numpy库dataset = pd.read_csv("../data/train.csv") #读取csv文件
  • 1
  • 2
  • 3
  • 4
dataset.head()  # 查看数据前5行
  • 1

这里写图片描述


# 随机构造一个5行3列的DataFrame数据,列名分别定义为‘ABC’,行索引间隔为2
 df = pd.DataFrame(np.arange(15).reshape(5,3),index=list('abcde'),columns=list('ABC')) #

    A   B   C
a   0   1   2b   3   4   5c   6   7   8d   9  10  11e  12  13  14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
df.irow(0) #取df的第一行, FutureWarning: irow(i) is deprecated. Please use .iloc[i]

A    0B    1C    2Name: a, dtype: int32

df.iloc[0] #取df的第一行

A    0B    1C    2Name: a, dtype: int32

df.iloc[[2]] # 按照index的序值,选择第3行
   A  B  C
c  6  7  8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
df.loc[['b']] # 按照index的具体值,选择索引为'b'的那一行
   A  B  C
b  3  4  5
  • 1
  • 2
  • 3
df['A'] # 选择表格中的'A'列,使用类字典属性,返回的是Series类型

a     0b     3c     6d     9e    12Name: A, dtype: int32
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
df.A # 选择表格中的'A'列,使用点属性,返回的是Series类型a    1.470787b    0.253183c   -0.061858d    0.203922e    0.364775Name: A, dtype: float64
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
df[['A']] # 选择表格中的'A'列,返回的是DataFrame类型
    A
a   0b   3c   6d   9e  12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
df[['A','B']] # 选择表格中的'A'、'B'列

    A   B
a   0   1b   3   4c   6   7d   9  10e  12  13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
df[0:2] #返回第1行到第2行的所有行,前闭后开,包括前不包括后

   A  B  Ca  0  1  2b  3  4  5
  • 1
  • 2
  • 3
  • 4
  • 5
df[1:2] #返回第2行,从0计,返回的是单行,通过有前后值的索引形式,
        #如果采用data[1]则报错   A  B  Cb  3  4  5df.ix[1:2] #返回第2行的第三种方法,返回的是DataFrame,跟df[1:2]同   A  B  Cb  3  4  5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
df['a':'b'] #利用index值进行切片,返回的是**前闭后闭**的DataFrame, 
            #即末端是包含的  

   A  B  Ca  0  1  2b  3  4  5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
df.icol(0) # 取df的第一列 ,FutureWarning: icol(i) is deprecated. Please use .iloc[:,i]a     0b     3c     6d     9e    12Name: A, dtype: int32

df.iloc[:,0] #取df的第一列a     0b     3c     6d     9e    12Name: A, dtype: int32
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
df.tail(3) #返回df的后3行数据,默认为后五行,需要后十行则df.tail(10)

    A   B   C
c   6   7   8d   9  10  11e  12  13  14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
df.iloc[-1] #选取DataFrame最后一行,返回的是SeriesA    12B    13C    14Name: e, dtype: int32

df.iloc[-1:] #选取DataFrame最后一行,返回的是DataFrame

    A   B   C
e  12  13  14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
df.loc['a',['B','C']] #返回‘a’行'B'、'C'列,这种用于选取行索引列索引已知

B    1C    2Name: a, dtype: int32
  • 1
  • 2
  • 3
  • 4
  • 5
df.iat[1,1] #选取第二行第二列,用于已知行、列位置的选取。4
  • 1
  • 2
df.ix[:,[0,1,2]] #不知道列名只知道列的位置时

    A   B   Ca   0   1   2b   3   4   5c   6   7   8d   9  10  11e  12  13  14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

选择DataFrame中列名以XXX开头的列:

import pandas as pdimport numpy as np

df = pd.DataFrame({'foo.aa': [1, 2.1, np.nan, 4.7, 5.6, 6.8],                   'foo.fighters': [0, 1, np.nan, 0, 0, 0],                   'foo.bars': [0, 0, 0, 0, 0, 1],                   'bar.baz': [5, 5, 6, 5, 5.6, 6.8],                   'foo.fox': [2, 4, 1, 0, 0, 5],                   'nas.foo': ['NA', 0, 1, 0, 0, 0],                   'foo.manchu': ['NA', 0, 0, 0, 0, 0],})

df[df.columns[pd.Series(df.columns).str.startswith('foo')]]
>   foo.aa  foo.bars  foo.fighters  foo.fox foo.manchu0     1.0         0             0        2         NA1     2.1         0             1        4          02     NaN         0           NaN        1          03     4.7         0             0        0          04     5.6         0             0        0          05     6.8         1             0        5          0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

参考引用:http://blog.csdn.net/xiaodongxiexie/article/details/53108959



在dataframe中根据一定的条件,得到符合要求的某行元素所在的位置。

代码如下所示:

[python] view plain copy
  1. df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},  
  2.        index=[10,20,30,40,50])  
  3. print(df)  
  4. a = df[(df.BoolCol==3)&(df.attr==22)].index.tolist()  
  5. print(a)  

df如下所示,以上通过选取“BoolCol”取值为3且“attr”取值为22的行,得到该行在df中的位置

注意:返回的位置为index列表,根据index的不同而不同,这点易于数组中默认的下标。

[python] view plain copy
  1.     BoolCol  attr  
  2. 10        1    22  
  3. 20        2    33  
  4. 30        3    22  
  5. 40        3    44  
  6. 50        4    66  
  7. [30]  


扩展阅读

Suese

2018-07-23 08:38:03

<a href=http://fei.girls-nsk.mobi>проститутки новосибирска</a> <a href=http://fei.girls-nsk.mobi/individuals/>индивидуалки новосибирска</a> <a href=http://fei.girls-nsk.mobi/znakomstva/>знакомства новосибирск</a> <a href=http://fei.girls-nsk.mobi/massage-salons/>Эротический массаж Новосибирск</a> <a href=http://fei.girls-nsk.mobi/individuals/service-v-mashine-minet/>миньет в авто в Новосибирске</a> <a href=http://fei.girls-nsk.mobi/individuals/transsexual/>трансы новосибирска</a> <a href=http://fei.girls-nsk.mobi/individuals/service-gospozha-bdsm/>госпожа новосибирск</a> <a href=http://fei.girls-nsk.mobi/individuals/40-let/>зрелые проститутки новосибирск</a> <a href=http://fei.girls-nsk.mobi/individuals/1000-rubley/>дешевые проститутки Новосибирск</a>

Suese

2018-07-26 22:29:44

<a href=http://m.girls-nsk.mobi>проститутки новосибирска</a> <a href=http://vk.com/girlsnskmobi>проститутки новосибирска</a> <a href=http://m.girls-nsk.mobi/individuals/>индивидуалки новосибирска</a> <a href=http://m.girls-nsk.mobi/znakomstva/>секс знакомства новосибирска</a> <a href=http://m.girls-nsk.mobi/massage-salons/>Эротический массаж Новосибирск</a> <a href=http://m.girls-nsk.mobi/individuals/service-v-mashine-minet/>миньет в авто</a> <a href=http://m.girls-nsk.mobi/individuals/transsexual/>трансы новосибирска</a> <a href=http://m.girls-nsk.mobi/individuals/service-gospozha-bdsm/>бдсм в Новосибирске</a> <a href=http://m.girls-nsk.mobi/individuals/40-let/>зрелые проститутки новосибирска</a> <a href=http://m.girls-nsk.mobi/individuals/1000-rubley/>дешевые проститутки Новосибирск</a>

Suese

2018-07-30 05:24:04

<a href=http://fei.girls-nsk.name>проститутки новосибирск</a> <a href=https://dev.sexchika.biz/individualki.html>индивидуалки новосибирска</a> <a href=https://t.me/joinchat/H8FAKkeiurrZSGdGwwHefg>проститутки новосибирска</a> <a href=https://vk.com/girlsnskmobi>проститутки новосибирска</a> <a href=http://fei.girls-nsk.name/individuals/vyezd/>шлюхи на вызов</a> <a href=http://fei.girls-nsk.name/individuals/>индивидуалки новосибирск</a> <a href=http://fei.girls-nsk.name/znakomstva/>знакомства новосибирск</a> <a href=http://fei.girls-nsk.name/massage-salons/>эротический массаж</a> <a href=http://fei.girls-nsk.name/individuals/service-v-mashine-minet/>миньет в авто новосибирск</a> <a href=http://fei.girls-nsk.name/individuals/transsexual/>трансы новосибирска</a> <a href=http://fei.girls-nsk.name/individuals/service-gospozha-bdsm/>услуги госпожи </a> <a href=http://fei.girls-nsk.name/individuals/40-let/>взрослые проститутки новосибирска</a> <a href=http://fei.girls-nsk.name/individuals/1000-rubley/>дешевые проститутки в Новосибирске</a> <a href=http://fei.girls-nsk.mobi/individuals/sovetskij-rajon/>проститутки в Советском районе Новосибирска</a> <a href=http://fei.girls-nsk.mobi/individuals/kirovskiy-rajon/>проститутки в Кировском районе</a> <a href=http://fei.girls-nsk.mobi/individuals/pervomajskij-rajon/>проститутки в Первомайском районе</a> <a href=http://fei.girls-nsk.mobi/individuals/leninskiy-rajon/>проститутки в Ленинском районе</a> <a href=http://fei.girls-nsk.mobi/individuals/oktyabrskiy-rajon/>проститутки в Октябрьском районе</a> <a href=http://fei.girls-nsk.mobi/individuals/zaelcovskij-rajon/>проститутки в Заельцовском районе Новосибирска</a> <a href=http://fei.girls-nsk.mobi/individuals/tsentralnyy-rajon/>проститутки в Центральном районе</a> <a href=http://fei.girls-nsk.mobi/individuals/dzerzhinskiy-rajon/>проститутки в Дзержинском районе</a> <a href=http://fei.girls-nsk.mobi/individuals/kalininskij-rajon/>проститутки в Калиниском районе</a>

Suese

2018-08-03 10:09:27

<a href=http://vip.girls-nsk.name>проститутки новосибирска</a> <a href=http://girls-nsk.name>проститутки новосибирск</a> <a href=http://vip.girls-nsk.name/individuals/vyezd/>вызов проституток</a> <a href=http://vip.girls-nsk.name/individuals/>индивидуалки</a> <a href=http://vip.girls-nsk.name/massage-salons/>Эротический массаж Новосибирск</a> <a href=http://www.girls-nsk.name>проститутки новосибирска</a> <a href=http://girls-nsk.name>проститутки новосибирск</a> <a href=http://www.girls-nsk.name/individuals/vyezd/>девушки на час</a> <a href=http://www.girls-nsk.name/individuals/>индивидуалки</a> <a href=http://www.girls-nsk.name/massage-salons/>Эротический массаж в Новосибирске</a> <a href=http://girls-nsk.biz>проститутки новосибирска</a> <a href=http://girls-nsk.name>проститутки новосибирск</a> <a href=http://girls-nsk.cc>проститутки новосибирска</a> <a href=http://nsk.girls-nsk.cc>проститутки новосибирска</a> <a href=http://sib.girls-nsk.cc>проститутки новосибирска</a> <a href=http://girls-nsk.mobi>проститутки новосибирска</a> <a href=http://www.girls-nsk.mobi>проститутки новосибирска</a> <a href=https://dev.sexchika.biz>проститутки новосибирска</a> <a href=https://dev.sexchika.biz/individualki.html>индивидуалки новосибирска</a>

Suese

2018-08-05 06:35:02

<a href=http://fei.girls-kzn.mobi>проститутки Казань</a> <a href=http://fei.girls-kzn.mobi/individuals/>индивидуалки Казань</a>

Suese

2018-08-13 20:16:41

http://kluev.org.ua/go.php?url=http://fei.girls-nsk.mobi/ http://gzhi.donland.ru/Gzhi/Pages/ukview.aspx?id=2168&Returnurl=http://fei.girls-nsk.mobi/ https://www.simbainformation.com/redirect.asp?progid=81536&url=http://fei.girls-nsk.mobi/ http://www.dancingteenies.com/cgi-bin/at3/out.cgi?id=54&tag=toplist&trade=http://fei.girls-nsk.mobi/ http://www.ladydriver.cn/home/link.php?url=http://fei.girls-nsk.mobi/ http://blackforest.su/go.php?url=http://fei.girls-nsk.mobi/ http://bhudi.jw.lt/guestbox/?url=http://fei.girls-nsk.mobi/ http://www.vistacayrent.com/cgi-bin/out.cgi?ses=1wLCR7E5Va&id=576&url=http://fei.girls-nsk.mobi/ http://www.robertlerner.com/cgi-bin/links/ybf.cgi?url==http://fei.girls-nsk.mobi/ http://www.neftekumsk.ru/kilophp/go.php?url=http://fei.girls-nsk.mobi/ http://okusama-dx.com/m/redirect.php?url=http://fei.girls-nsk.mobi/ http://www.kreidefressen.de/go.php?http://fei.girls-nsk.mobi/ http://www.adhub.com/cgi-bin/webdata_pro.pl?_cgifunction=clickthru&url=http://fei.girls-nsk.mobi/ https://kulissenriss.org/go.php?http://fei.girls-nsk.mobi/ http://asin-abik.top4cats.ru/scripts/redirect.php?url=http://fei.girls-nsk.mobi/ http://www.matthewgoodsell.co.uk/out.php?url=http://fei.girls-nsk.mobi/ http://adults.bz/__media__/js/netsoltrademark.php?d=http://fei.girls-nsk.mobi/ https://kb.wedos.com/redir.php?url=http://fei.girls-nsk.mobi/ http://www.aug-tu.com.tw/pro/redirect.php?url=http://fei.girls-nsk.mobi/ http://free.top-dolls.net/cgi-bin/out.cgi?ses=LaQd6ujhgl&id=697&url=http://fei.girls-nsk.mobi/ https://raovat.vn/external_links.html?url=http://fei.girls-nsk.mobi/ http://totalcpros.com/link.php?go=http://fei.girls-nsk.mobi/ http://www.a09116.uscgaux.info/countjumps.php?n=auxwebpages&r=http://fei.girls-nsk.mobi/ http://affittistagionali.it/go.php?url=http://fei.girls-nsk.mobi/ http://www.anti-nato.ru/redirect.php?redirect=http://fei.girls-nsk.mobi/ http://www.36260.com.cn/go.asp?url=http://fei.girls-nsk.mobi/ https://www.tourisme-langres.com/redirect.php?url=http://fei.girls-nsk.mobi/ http://www.wrasb.gov.tw/opennews/opennews01_detail.aspx?nno=2014062701&return=http://fei.girls-nsk.mobi/ https://firstdonoharm.com/exit.asp?url=http://fei.girls-nsk.mobi/ http://mothersexypornvideo.com/cgi-bin/crtr/out.cgi?id=1879&l=topmain&u=http://fei.girls-nsk.mobi/