Python pandas 使用 速查

2021-10-04 11:40:33 字數 4868 閱讀 4687

注釋中的路徑不能使用 \ ,只能用 \\ 或者 / ,否則執行的時候還是會報unicode 編譯錯誤

list(filter(lambda s: not s.startswith("_"), list0)) # 對 list 進行過濾,返回符合條件的 結果列表  

#使用 regex 查詢並返回有 orders 的 列表item ,返回只有 orders 的列表

#1regex = re.compile(r'orders.')

ll = list(filter(regex.search, list0))

#2

ll = list(filter(lambda x:re.findall('orders',x), list0))

# remove not wanted characters

# 在乙個list中去除另外乙個list中已經存在的元素

l1 = ['b','c','d','b','c','a','a']

l2 = ['c']

l3 =

print(l3)

python stringio及bytesio包使用方法解析

df = df.drop(0) # 刪除第一行

"""刪除第一列"""

df = df.iloc[:, 1:] # 獲得1開始的所有列

# 刪除滿足條件的行:

# 保留第一列中不是 15444 的所有行

# 刪除第一列中 數值 為 15444 的所有行

df1 = df[ df[0] !='15444']

# 在資料處理過程中用到了除法,並且出現了除數為0,導致出現inf,而資料庫不支援寫入該值

df_d = df_d.replace([np.inf, -np.inf], 1) # 第一次出現 - 1

df_d = df_d.replace([np.inf, -np.inf], np.nan) # 空值 ,上述**將處理結果中的正無窮和負無窮都替換為空值,最後寫入到資料為中的為null值

df_d.fillna(0) # 替換 nan 為 0

# change to str and replacy '.0' with ''

def re_sub(pattern, value, text):

return re.sub(pattern,value,text)

data.drop_duplicates(subset=['a','b'],keep='first',inplace=true)

"""

**中subset對應的值是列名,表示只考慮這兩列,將這兩列對應值相同的行進行去重。

預設值為subset=none表示考慮所有列。

keep='first'表示保留第一次出現的重複行,是預設值。keep另外兩個取值為"last"和false,

分別表示保留最後一次出現的重複行和去除所有重複行。

flase 可以用於取差集

inplace=true表示直接在原來的dataframe上刪除重複項,而預設值false表示生成乙個副本。

"""df2 = df1.drop(index=df1.index) """清空資料"""

df = pd.read_csv('d:/temp/xyz.csv')

df = pd.read_excel('d:/workspace/mypy/test/words_train/totrain.xlsx')

df = pd.read_sql_query(sql,engine)

df_r.to_csv()    #寫入csv

df_r.to_excel() # index = false 寫檔案時,不輸出index列

dtypedict =

to_sql 盡量定義dtype 加速 mysql 的寫入

# create a dataframe with data

import pandas as pd

dict_data =

df_data = pd.dataframe(dict_data)

print(df_data)

# create a dataframe with column only

df = pd.dataframe(columns = ["ebayno", "p_sku", "sale", "sku"]) #建立乙個空的dataframe

# tuple to datafrom

df1 = pd.dataframe(rows)

# read mysql get dataframe

args['connstr'] = 'mysql+mysqlconnector://root:{}@{}:3306/{}'.format(mysqlpw,mysqlhost,mysqldb)

df = pd.read_sql_query(sql,engine/connstr)

將data寫入資料庫,如果表存在就替換,將data的index也寫入資料表,寫入欄位名稱為id_name

data.to_sql('table_name',con='engine',chunksize=10000,if_exists='replace',index=true,index_label='id_name')

將data寫入資料庫,如果表存在就追加

將data寫入資料庫,如果表存在就替換,指定col_1的字段型別為char(4)

data.to_sql('table_name',con='engine',chunksize=10000,if_exists='replace,dtype=)

如果data資料量大,需要設定合理的chunksize值,這和資料庫快取大小有關,

可以設定在50000-10000,如果提示資料庫連線超時錯誤,就將size值調小。

dataframe.insert(loc, column, value, allow_duplicates=false) # 插入一列

jobs = ['student','ai','teacher']

df['job'] = jobs #預設在df最後一列加上column名稱為job,值為jobs的資料

new_row =
print(dataframe.dtypes) #檢視column 的資料型別

#檢視欄位名字和型別

for column in df: print(column,',type(column):',type(column))

df["a"]=df["a"].astype("int") # 進行資料**的資料型別轉換需要用到資料型別轉換函式df["列名稱"].astype("型別名稱」)

"""轉成 list"""

df['a'].to_list()

"""轉成 沒有column name 的 tuple list"""

df.to_records(index=false).tolist()

"""iloc始終堅持乙個原則:iloc是基於position進行索引的!"""

"""loc始終堅持乙個原則:loc是基於label進行索引的!"""

df0.iloc[:,8:] """得到第8列到最後的所有列"""

"""得到 p==0 並且 pu=1 的所有資料"""

"""()括號不能省略,否則報錯"""

dfu = dfu[ (dfu[p]==0) & (dfu[pu]==1) ]

df.columns=['a','b']  #rename the dataframe column of every column, when we don't know exactly the column name

df = df.rename( columns=) # 對column 重新命名

df = pd.merge(df_search,df_pe, on=['col1','col2'], how='outer' , suffixes=('','')) 

# out join 資料左右連線,suffixes 為合併後的左表和右表的字尾

df.reset_index(drop=false) # false - transform the index to normal fields, true - drop the index

df0 = df0.sort_values(by=[column1], ascending=[false])

# 設定索引字段

df_cx.set_index('tag',inplace=true)

# 通過索引欄位中的值,得到其相應其他欄位的值

n = df_cx.loc[k,'name'] # retrun value

n = df_cx.loc[k,['name','explain']] # retrun dataframe

df['sum'] =df['2020-03-30'].add(df['2020-03-31'], fill_value=0) #按列相加,nan 的地方 用 0 填充

pd.isnull(row['a']) # 校驗是否為空或者nan

pd.notnull(row['a']) # 校驗是否不為空或者nan

pandas對於csv的簡單操作

python – 在列表中通過正規表示式過濾字元...

pandas之超好用的groupby用法詳解

python: pandas中iloc, loc和ix的區別和聯絡

python pandas使用記錄

在使用numpy中array格式的矩陣時,我們通常使用如a 2 4,5 10 獲取陣列中一部分資料,但是dataframe結構的陣列就不能這麼寫,可以使用iloc方法,即index locate,另外有個相似的方法loc,這個方法是通過column名字進行資料定位的 import pandas as...

python pandas基礎使用大全

一 生成資料表 匯入pandas庫 import numpy as np import pandas as pd讀取csv或者excel df pd.read csv a.csv df pd.read csv a.csv header 1 df pd.read csv a.csv 字典轉成dataf...

python pandas使用 資料Series

目錄 預設數字索引 自定義索引 索引訪問 形狀 多少個元素 返回陣列的數值 檢視預設前五行 檢視預設後五行 nan索引 判斷資料完整 名字賦值 運算 資料篩選 import pandas as pd import numpy as np from pandas import series from ...