Rumah > pembangunan bahagian belakang > Tutorial Python > 14 operasi biasa dalam Excel menggunakan Python

14 operasi biasa dalam Excel menggunakan Python

WBOY
Lepaskan: 2023-04-15 19:07:01
ke hadapan
906 orang telah melayarinya

14 operasi biasa dalam Excel menggunakan Python

Helo semua, saya seorang pemula!

Data ialah data jualan yang ditemui dalam talian Ia kelihatan seperti ini:

14 operasi biasa dalam Excel menggunakan Python

1. Formula persatuan: Vlookup

<.> vlookup adalah hampir formula yang paling biasa digunakan dalam Excel, dan biasanya digunakan untuk pertanyaan berkaitan antara dua jadual. Jadi saya mula-mula membahagikan jadual ini kepada dua jadual.

df1=sale[['订单明细号','单据日期','地区名称', '业务员名称','客户分类', '存货编码', '客户名称', '业务员编码', '存货名称', '订单号',
'客户编码', '部门名称', '部门编码']]
df2=sale[['订单明细号','存货分类', '税费', '不含税金额', '订单金额', '利润', '单价','数量']]
Salin selepas log masuk
Permintaan: Saya ingin tahu keuntungan yang sepadan dengan setiap pesanan df1.

Lajur keuntungan wujud dalam jadual df2, jadi saya ingin tahu keuntungan yang sepadan dengan setiap pesanan df1. Apabila menggunakan excel, mula-mula sahkan bahawa nombor butiran pesanan ialah nilai unik, kemudian tambah lajur baharu dalam df1 dan tulis: =vlookup(a2,df2!a:h,6,0), dan kemudian tariknya ke bawah dan ia akan baik-baik sahaja. (Saya tidak akan menulis excel untuk baki 13 lagi)


Bagaimana untuk melaksanakannya menggunakan python?

#查看订单明细号是否重复,结果是没。
df1["订单明细号"].duplicated().value_counts()
df2["订单明细号"].duplicated().value_counts()
df_c=pd.merge(df1,df2,on="订单明细号",how="left")
Salin selepas log masuk
2. Jadual pangsi


Keperluan: Saya ingin mengetahui jumlah keuntungan dan purata keuntungan yang diperoleh oleh jurujual di setiap wilayah.


pd.pivot_table(sale,index="地区名称",columns="业务员名称",values="利润",aggfunc=[np.sum,np.mean])
Salin selepas log masuk
3 Bandingkan perbezaan antara dua lajur


Oleh kerana dimensi data setiap lajur dalam jadual ini adalah berbeza, tidak bermakna untuk membandingkan, jadi Saya membuat yang pertama Bandingkan perbezaan dalam butiran pesanan.


Keperluan: Bandingkan perbezaan antara nombor butiran pesanan dan nombor butiran pesanan 2 dan paparkannya.

sale["订单明细号2"]=sale["订单明细号"]
#在订单明细号2里前10个都+1.
sale["订单明细号2"][1:10]=sale["订单明细号2"][1:10]+1
#差异输出
result=sale.loc[sale["订单明细号"].isin(sale["订单明细号2"])==False]
Salin selepas log masuk
4. Alih keluar nilai pendua


Keperluan: Alih keluar nilai pendua yang dikodkan oleh jurujual


sale.drop_duplicates("业务员编码",inplace=True)
Salin selepas log masuk
5 pemprosesan


Mula-mula semak lajur mana data jualan mempunyai nilai yang tiada.

#列的行数小于index的行数的说明有缺失值,这里客户名称329<335,说明有缺失值
sale.info()
Salin selepas log masuk

14 operasi biasa dalam Excel menggunakan Python

Keperluan: Isikan nilai yang tiada dengan 0 atau padamkan baris dengan nilai yang tiada berkod pelanggan. Sebenarnya, kaedah memproses nilai yang hilang adalah sangat rumit Di sini kami hanya memperkenalkan kaedah pemprosesan yang mudah Jika ia adalah pembolehubah berangka, kaedah yang paling biasa digunakan ialah purata, median atau mod model hutan boleh digunakan untuk meramal berdasarkan dimensi lain. Jika ia adalah pembolehubah kategori, adalah lebih tepat untuk mengisinya berdasarkan logik perniagaan. Sebagai contoh, keperluan di sini adalah untuk mengisi nilai yang hilang bagi nama pelanggan: ia boleh diisi mengikut nama pelanggan yang sepadan dengan inventori dengan kekerapan kejadian tertinggi dalam klasifikasi inventori.


Di sini kami menggunakan penyelesaian mudah: isikan nilai yang hilang dengan 0 atau padamkan baris dengan nilai yang tiada berkod pelanggan.

#用0填充缺失值
sale["客户名称"]=sale["客户名称"].fillna(0)
#删除有客户编码缺失值的行
sale.dropna(subset=["客户编码"])
Salin selepas log masuk
6. Penapisan pelbagai keadaan


Permintaan: Saya ingin mengetahui maklumat tentang jurujual Zhang Ai, yang menjual barangan di kawasan Beijing dengan jumlah pesanan yang lebih besar daripada 6,000.


sale.loc[(sale["地区名称"]=="北京")&(sale["业务员名称"]=="张爱")&(sale["订单金额"]>5000)]
Salin selepas log masuk
7. Penapisan kabur data


Keperluan: Tapis maklumat yang mengandungi "Samsung" atau "Sony" dalam nama inventori.


sale.loc[sale["存货名称"].str.contains("三星|索尼")]
Salin selepas log masuk
8. Ringkasan terperingkat


Permintaan: Jumlah keuntungan setiap jurujual di kawasan Beijing.


sale.groupby(["地区名称","业务员名称"])["利润"].sum()
Salin selepas log masuk
9. Pengiraan bersyarat


Permintaan: Berapa banyak pesanan mempunyai nama inventori yang mengandungi "Samsung" dan cukainya lebih tinggi daripada 1,000? Berapakah jumlah dan keuntungan purata bagi pesanan ini? (Atau nilai minimum, nilai maksimum, kuartil, perbezaan label)


sale.loc[sale["存货名称"].str.contains("三星")&(sale["税费"]>=1000)][["订单明细号","利润"]].describe()
Salin selepas log masuk

14 operasi biasa dalam Excel menggunakan Python

10 Padamkan ruang antara data


Keperluan : Alih keluar ruang pada kedua-dua belah nama inventori.


jualan["nama inventori"].map(lambda s:s.strip(""))


11 Pecahan data


14 operasi biasa dalam Excel menggunakan Python

Keperluan: Asingkan tarikh dan masa.


sale=pd.merge(sale,pd.DataFrame(sale["单据日期"].str.split(" ",expand=True)),how="inner",left_index=True,right_index=True)
Salin selepas log masuk
12 Penggantian outlier


Pertama, gunakan fungsi describe() untuk menyemak sama ada terdapat sebarang outlier dalam data.


#Anda boleh melihat bahawa cukai output mempunyai nombor negatif Ini biasanya tidak berlaku dan dianggap sebagai outlier.


sale.describe()
Salin selepas log masuk

14 operasi biasa dalam Excel menggunakan Python

Keperluan: Gunakan 0 untuk menggantikan outlier.


sale["订单金额"]=sale["订单金额"].replace(min(sale["订单金额"]),0)
Salin selepas log masuk
13. Pengelompokan


Permintaan: Kumpulan wilayah mengikut pengagihan data keuntungan: "miskin", "sederhana", "lebih baik", "Sangat baik"


Pertama sekali, sudah tentu, kita perlu melihat pembahagian data keuntungan Di sini kita menggunakan kuartil untuk menilai.


sale.groupby("地区名称")["利润"].sum().describe()
Salin selepas log masuk

14 operasi biasa dalam Excel menggunakan Python

Kumpulkan jumlah keuntungan serantau dalam julat [-9,7091] sebagai "miskin" mengikut kuartil, (7091,10952 ] pengumpulan selang adalah "sederhana" (10952,17656] dikumpulkan sebagai baik, (17656,37556] dikumpulkan sebagai sangat baik.

#先建立一个Dataframe
sale_area=pd.DataFrame(sale.groupby("地区名称")["利润"].sum()).reset_index()
#设置bins,和分组名称
bins=[-10,7091,10952,17656,37556]
groups=["较差","中等","较好","非常好"]
#使用cut分组
#sale_area["分组"]=pd.cut(sale_area["利润"],bins,labels=groups)
Salin selepas log masuk
14. Tentukan teg mengikut logik perniagaan


Permintaan: Maklumat produk dengan margin keuntungan jualan (iaitu keuntungan/jumlah pesanan) lebih daripada 30% dan tandakannya sebagai produk berkualiti tinggi dan kurang daripada 5% sebagai produk biasa

sale.loc[(sale["利润"]/sale["订单金额"])>0.3,"label"]="优质商品"
sale.loc[(sale["利润"]/sale["订单金额"])<0.05,"label"]="一般商品"
Salin selepas log masuk
Sebenarnya, ia adalah operasi yang biasa digunakan dalam excel. Terdapat banyak lagi yang saya senaraikan. Jika anda ingin melaksanakan operasi lain, anda boleh mengulas dan membincangkannya bersama. Saya juga tahu bahawa penulisan Python saya tidak cukup diselaraskan, jadi saya menggunakan loc secara tidak aktif (sebenarnya, pertanyaan akan lebih diperkemas Jika anda mempunyai cara yang lebih baik untuk menulis operasi ini, sila beritahu saya dalam ulasan, terima kasih). !

Akhir sekali, saya ingin mengatakan bahawa saya fikir adalah lebih baik untuk tidak membandingkan excel dan python untuk mengkaji mana yang lebih mudah untuk digunakan. Malah, kedua-duanya adalah alat pemprosesan data yang paling meluas dimonopoli selama bertahun-tahun dan mesti agak mudah dalam pemprosesan data Cemerlang, sesetengah operasi memang lebih mudah dengan python, tetapi terdapat juga banyak operasi dalam excel yang lebih mudah daripada python.

Contohnya, operasi yang sangat mudah: jumlahkan setiap lajur dan paparkannya di baris bawah Excel hanya menambah fungsi sum() pada lajur, dan kemudian menariknya ke kiri untuk menyelesaikannya . Python Kemudian anda perlu mentakrifkan fungsi (kerana python perlu menentukan format, jika ia bukan data berangka, ia akan melaporkan ralat secara langsung.)

Atas ialah kandungan terperinci 14 operasi biasa dalam Excel menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan