最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas行和列的獲取的實(shí)現(xiàn)

 更新時(shí)間:2023年01月17日 09:32:20   作者:羊羊豬  
本文主要介紹了pandas行和列的獲取的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

DataFrame的行和列:df[‘行’, ‘列’]

DataFrame行和列的獲取分三個(gè)維度

  • 行和列選?。篸f[],一次只能選取行或列
  • 區(qū)域選?。篸f.loc[], df.iloc[], df.ix[],可以同時(shí)為行或列設(shè)置篩選條件
  • 單元格選?。篸f.at[], df.iat[],準(zhǔn)確選取某個(gè)單元格

先隨機(jī)生成一個(gè)dataframe

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randn(10,5), index=list('abcdefghij'), columns=list('ABCDE'))
# Output
?? ? ? A?? ? ? ? ? ?B?? ? ? ? ? C?? ? ? ? ? ?D?? ? ? ? ? ?E
a?? ?0.299206?? ?-0.383297?? ?-0.931467?? ?-0.591609?? ?-1.131105
b?? ?0.074351?? ?0.791849?? ?1.637467?? ?-1.408712?? ?-1.376527
c?? ?-0.359802?? ?-2.049489?? ?-0.615742?? ?-1.953994?? ?0.685243
d?? ?0.232557?? ?1.768284?? ?-0.447015?? ?2.373358?? ?1.220536
e?? ?-0.997380?? ?-0.447236?? ?0.632368?? ?-0.352590?? ?-0.064736
f?? ?-1.220178?? ?-0.314304?? ?1.202184?? ?0.018326?? ?1.072153
g?? ?-1.508916?? ?0.380466?? ?0.359506?? ?-0.742657?? ?-0.373764
h?? ?1.031420?? ?-3.236676?? ?0.444769?? ?1.396802?? ?-0.405590
i?? ?0.166133?? ?-0.051614?? ?-0.146943?? ?0.609431?? ?-0.351814
j?? ?1.857521?? ?-0.159101?? ?0.899745?? ?1.108722?? ?-0.615379

1. 行和列的獲取

1.1 根據(jù)索引獲取行

獲取前3行數(shù)據(jù)

df[:3]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
c    -0.359802    -2.049489    -0.615742    -1.953994    0.685243

獲取第2到3行數(shù)據(jù)

df[1:3] # 前閉后開(kāi)
df['b':'c'] # # 前閉后閉
# Output
       A            B           C            D            E
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
c    -0.359802    -2.049489    -0.615742    -1.953994    0.685243

獲取特定行數(shù)據(jù)

# 布爾數(shù)組 (數(shù)組長(zhǎng)度需等于行數(shù))
df[[True,False,True,False,False,False, True, True, False, True]]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
c    -0.359802    -2.049489    -0.615742    -1.953994    0.685243
g    -1.508916    0.380466    0.359506    -0.742657    -0.373764
h    1.031420    -3.236676    0.444769    1.396802    -0.405590
j    1.857521    -0.159101    0.899745    1.108722    -0.615379

1.2 根據(jù)條件獲取行

獲取A列大于0的行

df[df.A > 0]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
d    0.232557    1.768284    -0.447015    2.373358    1.220536
h    1.031420    -3.236676    0.444769    1.396802    -0.405590
i    0.166133    -0.051614    -0.146943    0.609431    -0.351814
j    1.857521    -0.159101    0.899745    1.108722    -0.615379

獲取A列和B列大于0的行

df[(df.A > 0) & (df.B > 0)]
# Output
       A            B           C            D            E
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
d    0.232557    1.768284    -0.447015    2.373358    1.220536

獲取A列或列大于0的行

df[(df.A > 0) | (df.B > 0)]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
d    0.232557    1.768284    -0.447015    2.373358    1.220536
g    -1.508916    0.380466    0.359506    -0.742657    -0.373764
h    1.031420    -3.236676    0.444769    1.396802    -0.405590
i    0.166133    -0.051614    -0.146943    0.609431    -0.351814
j    1.857521    -0.159101    0.899745    1.108722    -0.615379

1.3 獲取列

# 獲取A列
df['A'] # 輸出為Series類(lèi)型
df[['A']] # 輸出為DataFrame類(lèi)型

# 獲取A列和B列
df[['A', 'B']]
df[df.columns[0:2]]

2. 區(qū)域選取

  • df.loc[] 只能使用標(biāo)簽索引,不能使用整數(shù)索引,通過(guò)便簽索引切邊進(jìn)行篩選時(shí),前閉后閉。
  • df.iloc[] 只能使用整數(shù)索引,不能使用標(biāo)簽索引,通過(guò)整數(shù)索引切邊進(jìn)行篩選時(shí),前閉后開(kāi)。
  • df.ix[]既可以使用標(biāo)簽索引,也可以使用整數(shù)索引。

2.1 df.loc[]

pandas.DataFrame.loc 官方文檔

2.1.1 行選取

獲取a行

# 輸出為Series類(lèi)型
df.loc['a']
df.loc['a', :]
# Output
A ? ?0.299206
B ? -0.383297
C ? -0.931467
D ? -0.591609
E ? -1.131105
Name: a, dtype: float64

# 輸出為DataFrame類(lèi)型
df.loc[['a']]
df.loc[['a'], :]
# Output
?? ? ? A?? ? ? ? ? ?B?? ? ? ? ? C?? ? ? ? ? ?D?? ? ? ? ? ?E
a?? ?0.299206?? ?-0.383297?? ?-0.931467?? ?-0.591609?? ?-1.131105

獲取a, b, d行

# 使用標(biāo)簽索引
df.loc[['a', 'b', 'd']]
df.loc[['a', 'b', 'd'], :]
# 使用布爾數(shù)組
df[[True, True, False, True, False, False, False, True, False, True]]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
d    0.232557    1.768284    -0.447015    2.373358    1.220536

獲取a到d行

df.loc['a':'d', :]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
c    -0.359802    -2.049489    -0.615742    -1.953994    0.685243
d    0.232557    1.768284    -0.447015    2.373358    1.220536

選取A列大于0的行

df.loc[df.A > 0]
df.loc[df.A > 0, :]
# Output
       A            B           C            D            E
a    0.299206    -0.383297    -0.931467    -0.591609    -1.131105
b    0.074351    0.791849    1.637467    -1.408712    -1.376527
d    0.232557    1.768284    -0.447015    2.373358    1.220536
h    1.031420    -3.236676    0.444769    1.396802    -0.405590
i    0.166133    -0.051614    -0.146943    0.609431    -0.351814
j    1.857521    -0.159101    0.899745    1.108722    -0.615379

2.1.2 列選取

# 選取A列
df.loc[:, 'A']
# 選取A列和C列
df.loc[:, ['A', 'C']]
# 選取A列到C列
df.loc[:, 'A':'C']

2.1.3 同時(shí)選取行和列

# 選取c行B列的值
df.loc['c', 'B']
# 選取A列和B列同時(shí)大于0的C列和D列
df.loc[((df.A > 0) & (df.B > 0)), ['C', 'D']]

2.1.4 行和列的賦值

# 令a行為10
df.loc['a', :] = 10
# 令B列為50
df.loc[:, 'B'] = 50
# 令b, c行的C到F列為30
df.loc[['b', 'c'], 'C':'F'] = 30
# 令C列小于0的行賦值為0
df.loc[df.C < 0] = 0

2.1.5 多重索引

Example

tuples = [
? ?('cobra', 'mark i'), ('cobra', 'mark ii'),
? ?('sidewinder', 'mark i'), ('sidewinder', 'mark ii'),
? ?('viper', 'mark ii'), ('viper', 'mark iii')
]
index = pd.MultiIndex.from_tuples(tuples)
values = [[12, 2], [0, 4], [10, 20],
? ? ? ? [1, 4], [7, 1], [16, 36]]

df = pd.DataFrame(values, columns=['max_speed', 'shield'], index=index)
# Output
df
? ? ? ? ? ? ? ? ? ? ?max_speed ?shield
cobra ? ? ?mark i ? ? ? ? ? 12 ? ? ? 2
? ? ? ? ? ?mark ii ? ? ? ? ? 0 ? ? ? 4
sidewinder mark i ? ? ? ? ? 10 ? ? ?20
? ? ? ? ? ?mark ii ? ? ? ? ? 1 ? ? ? 4
viper ? ? ?mark ii ? ? ? ? ? 7 ? ? ? 1
? ? ? ? ? ?mark iii ? ? ? ? 16 ? ? ?36
df.loc['cobra']
         max_speed  shield
mark i          12       2
mark ii          0       4
# return a Series
df.loc[('cobra', 'mark ii')]?
max_speed ? ?0
shield ? ? ? 4
Name: (cobra, mark ii), dtype: int64

# return a dataframe
df.loc[[('cobra', 'mark ii')]]
? ? ? ? ? ? ? ?max_speed ?shield
cobra mark ii ? ? ? ? ?0 ? ? ? 4
# return a Series
df.loc['cobra', 'mark i']
max_speed    12
shield        2
Name: (cobra, mark i), dtype: int64
df.loc[('cobra', 'mark i'), 'shield']
df.loc[('cobra', 'mark i'):'viper']
? ? ? ? ? ? ? ? ? ? ?max_speed ?shield
cobra ? ? ?mark i ? ? ? ? ? 12 ? ? ? 2
? ? ? ? ? ?mark ii ? ? ? ? ? 0 ? ? ? 4
sidewinder mark i ? ? ? ? ? 10 ? ? ?20
? ? ? ? ? ?mark ii ? ? ? ? ? 1 ? ? ? 4
viper ? ? ?mark ii ? ? ? ? ? 7 ? ? ? 1
? ? ? ? ? ?mark iii ? ? ? ? 16 ? ? ?36

df.loc[('cobra', 'mark i'):('viper', 'mark ii')]
? ? ? ? ? ? ? ? ? ? max_speed ?shield
cobra ? ? ?mark i ? ? ? ? ?12 ? ? ? 2
? ? ? ? ? ?mark ii ? ? ? ? ?0 ? ? ? 4
sidewinder mark i ? ? ? ? ?10 ? ? ?20
? ? ? ? ? ?mark ii ? ? ? ? ?1 ? ? ? 4
viper ? ? ?mark ii ? ? ? ? ?7 ? ? ? 1

2.2 df.iloc[ ]

pandas.DataFrame.iloc 官方文檔

2.2.1 行選取

選取第二行

# return a Series
df.iloc[1]
df.iloc[1, :]
# return a dataframe
df.iloc[[1]]
df.iloc[[1], :]

選取前三行

df.iloc[:3, :]
df.iloc[:3]

選取第一、三、五行

df.iloc[[1, 3, 5]]
df.iloc[[1, 3, 5], :]

2.2.2 列選取

選取第二列

df.iloc[:, 1]

選取前三列

df.iloc[:, 0:3]
df.iloc[:,:3]

選取第一三四列

df.iloc[:, [0, 2, 3]]

2.2.3 同時(shí)選取行和列

選取第一行第二列的值

df.iloc[0, 1]

選取第二三行的第二到四列

df.iloc[[1,2], 1:4]

2.3 df.ix[ ]

可以混合標(biāo)簽索引和整數(shù)索引

However, when an axis is integer based, ONLY label based access and not positional access is supported. Thus, in such cases, it’s usually better to be explicit and use .iloc or .loc.

3. 單元格選取

  • df.at[ ] 只能使用標(biāo)簽索引
  • df.iat[ ] 只能使用整數(shù)索引

3.1 df.at[]

pandas.DataFrame.at 官方文檔

獲取c行C列的值

df.at['c', 'C']

把c行C列賦值為10

df.at['c', 'C'] = 10

3.2 df.iat[]

pandas.DataFrame.iat 官方文檔

獲取第三行第三列的值

df.iat[2, 2]

把第三行第三列賦值為10

df.iat[2, 2] = 10

到此這篇關(guān)于pandas行和列的獲取的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas行列獲取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中海象運(yùn)算符:=的實(shí)現(xiàn)

    Python中海象運(yùn)算符:=的實(shí)現(xiàn)

    海象運(yùn)算符(:=)是Python3.8引入的新特性,用于在表達(dá)式中同時(shí)完成賦值和返回值操作,本文就來(lái)介紹一下Python中海象運(yùn)算符:=的實(shí)現(xiàn),感興趣的可以了解一下
    2025-02-02
  • tensorflow中的數(shù)據(jù)類(lèi)型dtype用法說(shuō)明

    tensorflow中的數(shù)據(jù)類(lèi)型dtype用法說(shuō)明

    這篇文章主要介紹了tensorflow中的數(shù)據(jù)類(lèi)型dtype用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 從零學(xué)Python之引用和類(lèi)屬性的初步理解

    從零學(xué)Python之引用和類(lèi)屬性的初步理解

    Python是一種解釋型、面向?qū)ο?、?dòng)態(tài)數(shù)據(jù)類(lèi)型的高級(jí)程序設(shè)計(jì)語(yǔ)言。自從20世紀(jì)90年代初Python語(yǔ)言誕生至今,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和Web編程。Python已經(jīng)成為最受歡迎的程序設(shè)計(jì)語(yǔ)言之一。2011年1月,它被TIOBE編程語(yǔ)言排行榜評(píng)為2010年度語(yǔ)言。自從2004年以后,python的使用率是呈線性增長(zhǎng)。
    2014-05-05
  • 利用Python實(shí)現(xiàn)自動(dòng)生成小學(xué)生計(jì)算題

    利用Python實(shí)現(xiàn)自動(dòng)生成小學(xué)生計(jì)算題

    過(guò)年期間發(fā)現(xiàn)小外甥已經(jīng)上小學(xué)了,我姐說(shuō)老師今天給他們布置了寒假作業(yè):每天堅(jiān)持做乘法和加減法混合運(yùn)算。這我必須幫幫忙,用Python寫(xiě)了一段自動(dòng)生成小學(xué)生計(jì)算題的代碼,希望外甥不要太感謝我
    2023-02-02
  • python對(duì)象及面向?qū)ο蠹夹g(shù)詳解

    python對(duì)象及面向?qū)ο蠹夹g(shù)詳解

    這篇文章主要介紹了python對(duì)象及面向?qū)ο蠹夹g(shù),結(jié)合實(shí)例形式詳細(xì)分析了Python面向?qū)ο笏婕暗念?lèi)、對(duì)象、方法、屬性等概念與使用技巧,需要的朋友可以參考下
    2016-07-07
  • python 猴子補(bǔ)丁(monkey patch)

    python 猴子補(bǔ)丁(monkey patch)

    這篇文章主要介紹了python 猴子補(bǔ)丁(monkey patch),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • OpenCV圖像卷積之cv.filter2D()函數(shù)詳解

    OpenCV圖像卷積之cv.filter2D()函數(shù)詳解

    在其官方文檔中,filter2D()函數(shù)在掩模板介紹中一筆帶過(guò),我認(rèn)為該函數(shù)應(yīng)該進(jìn)行詳細(xì)介紹,下面這篇文章主要給大家介紹了關(guān)于OpenCV圖像卷積之cv.filter2D()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 使用Python進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法

    使用Python進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法

    在爬蟲(chóng)數(shù)據(jù)獲取完成后,數(shù)據(jù)往往是“原始”的,不適合直接使用,清洗和存儲(chǔ)是將爬取到的原始數(shù)據(jù)轉(zhuǎn)化為有用信息的關(guān)鍵步驟,本文將系統(tǒng)地介紹 Python 中進(jìn)行數(shù)據(jù)清洗與存儲(chǔ)的基本方法,幫助新手理解如何處理爬蟲(chóng)數(shù)據(jù),使其更加適合分析和使用,需要的朋友可以參考下
    2024-11-11
  • 用vscode開(kāi)發(fā)python的步驟詳解

    用vscode開(kāi)發(fā)python的步驟詳解

    這篇文章主要介紹了用vscode開(kāi)發(fā)python的步驟詳解,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼

    Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼

    這篇文章主要介紹了Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論

钟山县| 维西| 台中县| 赤壁市| 永宁县| 宜章县| 河西区| 安庆市| 木里| 杭锦旗| 松潘县| 临猗县| 遵义县| 新巴尔虎右旗| 惠安县| 若羌县| 勃利县| 泰宁县| 百色市| 海丰县| 华宁县| 新源县| 轮台县| 贞丰县| 城固县| 额敏县| 淳化县| 玉溪市| 余干县| 乌兰察布市| 广汉市| 嘉祥县| 浠水县| 宁城县| 瑞丽市| 凯里市| 凤阳县| 肃南| 开远市| 宁乡县| 沙雅县|