Pandas庫常用功能 選擇行和列 去重

2021-10-01 02:47:26 字數 3764 閱讀 8541

1.3 使用iloc進行選擇

1.4 直接使用column選擇列

1.5 選擇某一塊資料

二、去重

import pandas as pd

import numpy as np

value = np.array([[

1,2,

3,4]

,[2,

3,4,

5],[

3,4,

5,6]

])index = np.array([10

,20,30

])column = np.array(

['u'

,'i'

,'r'

,'time'])

df = pd.dataframe(data=value, index=index, columns=column)

''' u i r time

10 1 2 3 4

20 2 3 4 5

30 3 4 5 6

'''

主要涉及到loc和iloc的用法,老版本的python裡還有ix,不過ix已被新版本棄用

.ix is deprecated. please use

.loc for label based indexing or

.iloc for positional indexing

很容易發現,loc是根據屬性名進行索引,而iloc則是根據列號進行索引,如df.loc[:, 『u』]和df.iloc[:, 0]實現的是相同的功能~

# 通過乙個布林判斷進行篩選,篩選出time列大於4的行

''' u i r time

20 2 3 4 5

30 3 4 5 6

'''data = df[df.time >4]

# 也可以使用設定多個條件,如加上要求評分為5分的條件

''' u i r time

30 3 4 5 6

'''data = df[

(df.time >4)

&(df.r ==5)

]

# 選擇第一行(第一行的index是10)

'''u 1

i 2

r 3

time 4

name: 10, dtype: int32

'''data = df.loc[10]

# 選擇第二行及之後的行(第二行的index是20)

''' u i r time

20 2 3 4 5

30 3 4 5 6

'''data = df.loc[20:

30]# 或者data = df.loc[20:]

# 選擇第一列(第一列的column是'u')

'''u 1

i 2

r 3

time 4

name: 10, dtype: int32

'''data = df.loc[:,

'u']

# 選擇第二列到第四列(第二列的column是'i',第四列的column是『time』)

''' i r time

10 2 3 4

20 3 4 5

30 4 5 6

'''data = df.loc[:,

'i':

'time'

]

# 選擇第一行

'''u 1

i 2

r 3

time 4

name: 10, dtype: int32

'''data = df.iloc[0]

# 選擇第二行及之後的行

''' u i r time

20 2 3 4 5

30 3 4 5 6

'''data = df.iloc[1:

3]# 或者data = df.iloc[1:]

# 選擇第一列

'''u 1

i 2

r 3

time 4

name: 10, dtype: int32

'''data = df.iloc[:,

0]# 選擇第二列到第四列

''' i r time

10 2 3 4

20 3 4 5

30 4 5 6

'''data = df.iloc[:,

1:4]

# 選擇第一列(第一列的column是'u')

'''u 1

i 2

r 3

time 4

name: 10, dtype: int32

'''data = df[

'u']

# 使用loc

''' u i r

10 1 2 3

20 2 3 4

'''data = df.loc[10:

20,'u':

'r']

# 使用iloc

''' u i r

10 1 2 3

20 2 3 4

'''data = df.iloc[0:

2,0:

3]

import pandas as pd

# 資料共有四列,列名分別為u,i,r和time

#u i r time

#1 3 4 1

#2 1 5 2

#3 1 5 3

#1 3 4 2

#1 3 4 1

df = pd.read_csv(

'rating.txt'

, names=

['u'

,'i'

,'r'

,'time'

])

很明顯,第一條資料和第五條資料重複,需要對資料集進行去重,主要使用的是drop_duplicates()

#   u  i  r  time

#0 1 3 4 1

#1 2 1 5 2

#2 3 1 5 3

#3 1 3 4 2

data = df.drop_duplicates(

)

但如果不考慮時間,我們會發現第

一、四、五條資料重複,可以結合上面的選擇列的方法進行去重

#   u  i  r

#0 1 3 4

#1 2 1 5

#2 3 1 5

data = df.loc[:,

['u'

,'i'

,'r']]

.drop_duplicates(

)

Pandas常用功能

02 查詢 03 行列操作 04 資料統計 05 資料預處理 8.pd.set option 設定pycharm顯示行數 06 取值 11.rotation 文字方向 14.df.eval 15.df.drop duplicates 16.select dtypes 17.lambda x impo...

Pandas常用功能

在使用pandas之前,需要匯入pandas庫 import pandas as pd pd作為pandas的別名 常用功能如下 功能 1 dataframe 建立乙個dataframe物件 2 df.values 返回ndarray型別的物件 3 df.index 獲取行索引 4 df.colum...

Pandas常用功能 自用

df.to csv 希臘債務.csv index none encoding utf 8 sig sep t head list 天數 性別 身高 失蹤地點 失蹤年 失蹤月 到達地 df dealed pd.dataframe dealed list,columns head list 新增行名 d...