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...