DataFrame的元素選擇與賦值

2021-09-19 16:37:45 字數 1431 閱讀 9540

1. 根據列名選擇

>>> df['a']
選擇df中名稱為'a'的列,該操作產生乙個series,等同於df.a。

2. 根據行號選擇

>>> df[0 : 3]
選擇df中第0到第2行,該操作產生乙個dataframe。

3. 根據索引選擇

>>> df['20130102' : '20130104']
選擇索引為'20130102'、'20130103'、'20130104'的行,這些索引對應的型別是datetimeindex。

4. 根據索引、列名共同選擇

>>> df.loc[index]

>>> df.loc[index, 'a']

>>> df.at[index, 'a'] # 比df.loc[index, 'a']更快

>>> df.loc[index, ['a', 'b']]

>>> df.loc[index1 : index2]  # index1和index2的型別要與df的索引型別一致。

>>> df.loc[index1 : index2, 'a']

>>> df.loc[index1 : index2, ['a','b']]

5. 根據位置選擇

>>> df.iloc[1]  # 選擇第1行,注:df從第0行開始編號
>>> df.iloc[:, 1]  # 選擇第1列,注:df從第0列開始編號
>>> df.iloc[1, 1]  # 選擇第1行第1列的那個元素

>>> df.iat[1, 1] # 同上,但速度更快

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

>>> df.iloc[[1,2,4], [0, 2]]

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

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

6. 根據條件選擇

>>> df[df.a > 0]  # 返回df中'a'列大於0的行

>>> df[df > 0] # 返回乙個與df相同大小的df2,保留原df中大於0的元素,並將原df中小於等於0的元素置為nan

>>> df['a'] = s1  # s1是乙個series

>>> df.at[index, 『a』] = 0

>>> df.iat[0, 1] = 0

>>> df.loc[:, 'a'] = np.array([5] * len(df))

>>> df[df > 0] = df2 # 將df中大於0的元素置為df2中對應的元素

jQuery選擇 子代元素與後代元素的區別

1 後代元素 html 如下,那麼在jquery選擇時,test img 中間為空格,則是選取後代元素,img對於ul來說是孫子輩元素,中間隔了li元素,所以後代元素是指ul標籤內的孫子輩 曾孫輩及以上元素。2 子元素 html 如下,那麼在jquery選擇時,test li 中間為 大於號,則是選...

dataframe 取行 列 及其條件選擇

dataframe 取列有兩種方法 df.列名 或 df 列名 同時通過,df 列名1 列名2 可以選擇多列。dataframe取行 和列 通過loc類和iloc類 可以選擇dataframe資料的多行和多列。其中loc類通過 標籤 進行列的選擇,iloc類通過索引 位置 選擇物件。形象記憶,ilo...

DataFrame概念與建立

一 概念 pandas是乙個開源的python資料分析庫。pandas把結構化資料分為了三類 series,1維序列,可視作為沒有column名的 只有乙個column的dataframe dataframe,同spark sql中的dataframe一樣,其概念來自於r語言,為多column並sc...