建立dataframe物件
建立dataframe物件的資料可以為列表,陣列和字典
import pandas as pd
import numpy as np
a = [[1, 2, 3],[4, 5, 6]] #二維矩陣
df2 = pd.dataframe(a, columns=[『col1』,『col2』,『col3』], index=[『a』,『b』])
print df2
結果:col1 col2 col3
a 1 2 3
b 4 5 6
讀取excel格式
data = pd.read_excel(『四創-渠道.xlsx』,sheetname=『單篇**』)#sheetname指定sheet
儲存成csv格式
不要index和header的儲存
data_train.to_csv(『temp/data_train.csv』,encoding=『utf8』,index=false,header = false)
一、增列連線(橫向:變寬):merge
前提:header要一致
df1 = pd.dataframe()
df2 = pd.dataframe()
df3 = pd.merge(df1, df2)
結果:df1:
key data1
0 a 1
1 b 2
2 c 3
df2:
key data2
0 a 4
1 b 5
2 c 6
df3key data1 data2
0 a 1 4
1 b 2 5
2 c 3 6
行連線(縱向:變長):concat
前提:header要一致
import pandas as pd
df1=pd.dataframe()
df2=pd.dataframe()
df3=pd.concat([df1,df2],ignore_index=true)
結果:df1:
key data
0 a 1
1 b 2
2 c 3
df2:
key data
0 d 4
1 e 5
2 f 6
df3:
key data
0 a 1
1 b 2
2 c 3
0 d 4
1 e 5
2 f 6
根據索引合併
a = [[1, 2, 3], [4, 5, 6]] # 二維矩陣
df1 = pd.dataframe(a, columns=[『col4』, 『col5』, 『col6』])
df2 = pd.dataframe(a, columns=[『col1』, 『col2』, 『col3』])
df = pd.merge(df1,df2 , left_index= true,right_index= true)
dataframe物件的合併
df_a = pd.dataframe([『wang』,『jing』,『hui』,『is』,『a』,『master』],columns=[『col6』],index=[『a』,『b』,『c』,『d』,『e』,『f』])
dfb = pd.dataframe([1,2,4,5,6,7],columns=[『col1』],index=[『a』,『b』,『c』,『d』,『f』,『g』])
df_a
col6
a wang
b jing
c hui
d is
e af master
dfbcol1
a 1b 2
c 4d 5
f 6g 7
print dfb.join(df_a)
col1 col6
a 1 wang
b 2 jing
c 4 hui
d 5 is
f 6 master
g 7 nan
#通過指定引數 how,指定合併的方式
print dfb.join(df_a,how=『inner』)
print dfb.join(df_a,how=『outer』)
用某幾列計算生成新列
方法一:
import pandas as pd
df=pd.dataframe()
print(df)
df[『data3』]=df[『data1』]+df[『data2』]
print(df)
方法二:
import pandas as pd
import math
def testme(x):
print(x[『data1』],x[『data2』])
return x[『data1』] + x[『data2』]
結果:data1 data2 key
0 1 4 a
1 2 5 b
2 3 6 c
data1 data2 key data3
0 1 4 a 5
1 2 5 b 7
2 3 6 c 9
列擴充df2 = pd.dataframe([[1, 2, 3],[4, 5, 6]], columns=[『col1』,『col2』,『col3』],index = [『a』,『b』])
print(df2)
結果:col1 col2 col3
a 1 2 3
b 4 5 6
df2[『col4』] = [『cnn』,『rnn』]
print df2
結果:col1 col2 col3 col4
a 1 2 3 3
b 4 5 6 2
二、刪行刪除:
df.drop([『column-name』], axis = 0)
刪除某列指定的幾行
eg:刪除日期為data_dele的資料 data_dele = [『2018-09-13』,『2018-09-14』,『2018-09-15』,『2018-09-16』]
data=data[~data[『日期』].isin(data_dele)]
列刪除:
df.drop([『column-name』], axis = 1,inplace=none) #inplace預設為none,表示不在原本的df上修改,true在原本的df上修改 del df[『column-name』] #對原來的df的改變
刪除後出現的重複值:df[『city』].drop_duplicates()
刪除先出現的重複值:df[『city』].drop_duplicates(keep=『last』)
獲取唯一的dataframe: data.drop_duplicates([『日期』])
import pandas as pd
import math
df=pd.dataframe()
print(df)
df=df.drop([『data2』],axis=1)
print(df)
結果:data1 data2 key
0 1 4 a
1 2 5 b
2 3 6 c
data1 key
0 1 a
1 2 b
2 3 c
load[『ld』] = load[『ld』].str.rstrip(』%』).astype(『float』)
mysql完整版 MYSQL安裝(完整版)
一 完全解除安裝mysql yum remove mysql mysql server mysql libs compat mysql51 rm rf var lib mysql rm etc my.cnf 檢視是否還有mysql軟體 rpm qa grep mysql 如果存在的話,繼續刪除即可。...
php完整版,ThinkPHP5 0完整版
thinkphp5.0版本是乙個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,採用全新的架構思想,引入了更多的php新特性,優化了核心,減少了依賴,實現了真正的惰性載入,支援composer,並針對api開發做了大量的優化,包括路由 日誌 異常 模型 資料庫 模板引擎和驗證等模組都已經重...
vue完整版和非完整版的區別和使用
官網最全 兩個版本對應的檔名 完整版 vue.js 內含compiler,編譯器可以把試圖上的html轉成dom節點,轉成html中的內容,所以體積大,不建議用,是從html獲得檢視。非完整版 vue.runtime.js template 和 render 怎麼用 templete是檢視的內容,可...