python和excel
檢視列數:data.shape[1]
檢視行數:data.shape[0]
檢視單元格數:data.size
檢視列名:data.columns
檢視某列:data['name']
檢視某行:data[1:2]
檢視某行:data.iloc[0]
檢視某列:data.loc[0]
檢視多個單元格:data.loc[[0,2],['***','yyy']] #可以數字也可以字母
檢視某塊:data.iloc[0:3,0:3] #只能數字
資訊篩選:data[(*** >= 20) & (yyy <= 30) & (data.yyy.isin(['a','b']))]
刪除行:data.drop([0,2,3,4,5])
刪除列:data.drop(columns=['***','yyy'])
刪除空值:data.dropna(how='any') data.dropna(how='all')
插入最後一列:data['new'] = 0
指定位置插入一列:data.insert(1,'new',0)
替換空值:data.fillna(0)
字串刪除空格:df["city"].str.strip()
更換大小寫: df["city"] = df['city'].str.lower()
更改列名稱:df.rename(columns=)
刪除重複值:df['city'].drop_duplicates()
替換:df['city'].replace('sh','shanghai')
設定索引列:df.set_index('id')
生成連續指定天數的日期:pd.date_range('20000101',periods=10)
排序: 按列排序:data.sort_values(by=['***','yyy'],ascending=[0,1])
按索引排序:df.sort_index()
替換某列的特定值:
for i in rane(data.shape[0]):
if data.loc[[i],['***']].values >= 10:
data.loc[[i],['***']] = 0
合併列:data['new'] = data['***'].map(str) + "-" + data['yyy'].map(str)
一列拆分多列:data['***_split'] = data['***'].str.split('-')
data['***_split1'] = data['***_split'].str[0]
data['***_split2'] = data['***_split'].str[1]
內容匹配:data = pd.merge(data1,data2,how='left',on=['***','yyy'])
數字格式處理:data['***'] = data['***'].astype(int)
透視表:
data = pd.pivot_table(data,index=['x','xx'],columns = ['y','yy'],values=['z','zz'],aggfunc=[np.sum,np.mean,len],margins=true)
df2=df.groupby(['月份','區域'])[['銷售額','成本']].agg('sum')
df3 = pd.pivot_table(df, values=['銷售額', '成本'], index=['月份', '區域'] , aggfunc='sum')
分組: a.groupby('gender').sum()
a.groupby('gender').size()
vlookup:
禁用科學計數法:pd.set_option('display.float_format', lambda x: '%.2f' % x)
(1)資料透視表
def rank(x):
if x >= 90:
return 'a'
elif x >= 80:
return 'b'
elif x >= 70:
return 'c'
elif x >= 60:
return 'd'
else:
return 'e'
(2)跨表查詢,merge
(3)模糊匹配,近似查詢
excel: = vlookup(a2&" *",b:g,6,0)
python:
df1df3
df3['月折舊']=0
for i in range(len(df3['資產']):
df3['月折舊'][i] = df1[df1['資產'].map(lambda x :df3['資產'][i] in x)]['月折舊']
合併: contact:
frames = [df1,df2,df3]
result = pd.concat(frames)
merge: 類似於sql
join:left.join(right,on='key')
python實現excel 的lookup函式
sx customer 0409 pd.read excel r e lll sx customer 0409.xlsx 讀取資料 fx variable pd.read excel r e lll 202004 fx variable.xlsx 讀取分箱列表 定義lookup函式 deflooku...
Excel中神奇的vlookup函式之基礎應用
1 問題 如下示例,需要將右邊的 匹配上對應工號的銷售額。這屬於vlookup函式最基礎的單條件匹配應用,左邊表稱為a表。右邊表稱為b表。2 vlookup函式套路介紹 vlookup函式涉及到4個引數 根據什麼查詢你要匹配的內容,稱為查閱值,該引數 於b表。3 套用以上套路解決問題 該例子中,引數...
Python實現Excel隨機抽取數
有這樣一組資料 現在要隨機抽取十個數字,如下 import sys import xlrd import random print pm2.5 天津 開啟excel workbook xlrd.open workbook 2.xls 進入sheet excel sheet workbook.shee...