其他函式主要有對
字元資料的處理,
對int或float資料的處理,
對日期資料的處理等
import
pandas
aspd
import
numpy
asnp
import
osos
.chdir
(' ....'
)將當前路徑切換到儲存檔案的路徑,方便讀取檔案資料
cars=pd
.read_csv
('檔名.csv'
)讀取檔案
cars
.head(10
)--讀取前十行
1、檢視資料中每個變數(即每個列名)的資料型別
cars
.dtypes
2、對日期時間格式資料進行操作
2
、cars
['boarding time'
]---返回資料中的上牌時間列0
2023年4
月12023年8
月22023年5
月...
.name:boarding
time
,length:
11125
,dtype:object
現在對返回的資料通過pandas函式進行處理,修改日期格式pd.
to_datatime
(cars
['boardingtime'],
format
='%y年%m月'
,errors
='coerce'
)datatime--目標時間格式
format----表明要修改前資料的時間格式
errors---對資料中不是指定格式(format)的資料當做空值來對待處理
返回標準的年月日
日期格式如下:
02017-04
-0112018-09
-1122019-09
-1232018-08
-07..
..name:boarding
time
,length:
11125
,dtype:datatime64[ns
]修改的返回的知識檢視,如要改變原表,需將檢視賦值給原來的變數
cars
['boardingtime']=
pd.to_datatime
(cars
['boardingtime'],
format
='%y年%m月'
,errors
='coerce'
)
3、 (.str 函式 ) 對字元資料進行操作(只能針對字元型資料)
cars
['new_price'
]---選取其中的一列,返回如下:
09.28萬1
53.78萬2
5.67萬.
..name:new_price
,length:
11126
,dtype:object
資料**現的每乙個值進行統計出現的次數
cars
['new_price'].
value_counts()
---對選取的部分資料**現的每乙個值進行
統計出現的次數
暫無142
12.14
萬128
34.67
萬127..
.name:new_price
,length:
1659
,dtype:int64
暫無表示缺失值,對缺失值的處理(可以在讀取資料時將缺失值讀成 nan,這樣就不會出現 '暫無 '了)
df=pd
.read_csv
('cars_csv'
,na_values
='暫無'
)
對cars中新車**列的』 萬 』 字的去除,採用字串的切片法,但是如此操作後的資料還是字元型資料,即dtype=object,我們可以將其轉換為 浮點型資料;
cars
['new_price'].
str[:-
1].astype
('float')0
9.28
153.78
25.67..
.name:new_price
,length:
11126
,dtype:float64
注意:python中字串切片或索引中
都是左開右閉的,-
1表示最後一位,但是取
不到最後一位
上述返回的只是檢視,如果想改變原始資料,就得將操作返回值重新下賦值
cars
['new_price']=
cars
['new_price'].
str[:-
1].astype
('float'
)
將 『-』 替換為 『缺失值』
cars
['discharge']=
cars
['discharge'].
str.
replace
('-'
,'缺失值'
)
對每乙個變數值出現次數的統計
cars
['new_price'].
value_counts
()
每個變數的資料型別的判斷
cars
.dtypes
返回--
name
object
new_price
float64
discharge
object
boarding_timee
datatime[ns
]dtype
:object
統計資料中心的字元型變數的的資料特徵
cars
.describe
(include=[
'object'
])
對所有變數的資料統計基本統計量
cars
.describe
(include=[
'all'])
統計中對浮點型資料,一般是不做統計的,所以返回的是nan值
pd.datatime.today() —表示此刻的時間,
datetime
.datetime
(2020,7
,18,18
,29,0
,62625
)
cars中上牌了多長時間的計算
cars
['diff_day']=
pa.datetime
.today()
-cars
['boarding_time']返回
01300
days09:
42:51.827382
1783
days09:
42:51.957339..
.name:diff_day
,length:
1125
,dtype:timedelta64[ns
]
timedelta[ns] —表示時間戳格式,將時間戳轉換為 標準天數,並將所得轉換為整型
cars
['diff_day']=
(cars
['diff_day']/
np.timedelta64(1
,'d'))
.astype
('int'
)注意:(1
,『d』)表示1
天乙個週期,(30,
'd')表示
30天乙個週期,即將時間戳轉換為
標準月份數,數字改為
365就是轉換為標準年份
pandas常用函式之diff
diff函式是用來將資料進行某種移動之後與原資料進行比較得出的差異資料,舉個例子,現在有乙個dataframe型別的資料df,如下 index value1a0 b1c2 d3如果執行 df.diff 則會得到 index value1 ananb1 c1d1 怎麼得到的呢,其實是經過了兩個步驟,首...
8 單行函式之數學函式 日期函式 其他函式
1 round 四捨五入 select round 1.65 select round 1.5 不管正數負數,先把絕對值四捨五入了,再新增正負號 select round 1.567,2 小數點後保留兩位進行四捨五入2 ceil 向上取整 返回 該引數的最小整數 select ceil 0.0021...
MySQL學習筆記(二)函式篇之其他函式
說明 返回由屬於一組的列值連線組合而成的結果 常與關鍵字 group by 一起使用,能夠將分組後指定的字段值都顯示出來。例 使用group concat函式查詢不同 id下對應的所有 name資訊 原表 create tableusers idint 4 not null,namevarchar ...