機器學習Pandas_learn4

import pandas as pddef calculate_goods_covariance():# 定義商品銷售數據字典goods_sales_data = {"時期": ["一期", "二期", "三期", "四期"],"蘋果": [15, 16, 3, 2],"橘子": [12, 14, 16, 18],"石榴": [11, 8, 7, 1]}# 將字典轉換為DataFrame對象goods_dataframe = pd.DataFrame(goods_sales_data)# 選取數值列進行協方差計算numerical_columns = goods_dataframe.select_dtypes(include=['number'])# 計算商品銷售數據的協方差矩陣covariance_matrix = numerical_columns.cov()return covariance_matrix# 調用函數計算協方差矩陣
result = calculate_goods_covariance()
# 打印協方差矩陣
print(result)
           蘋果         橘子         石榴
蘋果  56.666667 -17.333333  24.333333
橘子 -17.333333   6.666667 -10.333333
石榴  24.333333 -10.333333  17.583333
import pandas as pd# 示例數據
data = {'x': [1, 2, 3, 4, 5],'y': [5, 4, 3, 2, 1]
}
df = pd.DataFrame(data)
# 計算協方差
result = df['x'].cov(df['y'])
print("使用 Pandas 計算的協方差:", result)# 本人計算過程手動推導
# x的平均值等于 (1 + 2 + 3 + 4 + 5 ) / 5 = 3
# y的平均值等于 (5 + 4 + 3 + 2 + 1 ) / 5 = 3
# w =1-3)* (5-3) + (2-3) * (4-3) + (3-3) * (3-3) + (4-3) * (2-3) + (5-3) * (1-3)
# w/(n-1)  n = 5   
# ((1-3)* (5-3) + (2-3) * (4-3) + (3-3) * (3-3) + (4-3) * (2-3) + (5-3) * (1-3) ) /4
# => -2.5

樣本協方差公式:
C o v ( X , Y ) = 1 n ? 1 ∑ i = 1 n ( x i ? x ˉ ) ( y i ? y ˉ ) Cov(X,Y) = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y}) Cov(X,Y)=n?11?i=1n?(xi??xˉ)(yi??yˉ?)

總體協方差公式:
C o v ( X , Y ) = 1 n ∑ i = 1 n ( x i ? μ x ) ( y i ? μ y ) Cov(X,Y) = \frac{1}{n} \sum_{i=1}^{n} (x_i - \mu_x)(y_i - \mu_y) Cov(X,Y)=n1?i=1n?(xi??μx?)(yi??μy?)

樣本協方差公式

樣本協方差是衡量兩個變量之間相關性的統計量,其公式為:

s X Y = 1 n ? 1 ∑ i = 1 n ( X i ? X ˉ ) ( Y i ? Y ˉ ) s_{XY} = \frac{1}{n-1} \sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y}) sXY?=n?11?i=1n?(Xi??Xˉ)(Yi??Yˉ)

其中:

  • (X_i) 和 (Y_i) 是樣本數據點。
  • (\bar{X}) 和 (\bar{Y}) 是樣本 (X) 和 (Y) 的平均值。
  • (n) 是樣本數據點的數量。
  • (s_{XY}) 是樣本協方差。

樣本協方差的意義:

  • 正協方差表示兩個變量傾向于同方向變動。
  • 負協方差表示兩個變量傾向于反方向變動。
  • 協方差接近零表示兩個變量之間無線性相關關系。
from pandas import DataFrame
import numpy as np
paints={"時期":["一期","二期","三期","四期"],"蘋果":[15,16,3,2],"橘子":[12,14,16,18],"石榴":[11,8,7,1]}
goods_in=DataFrame(paints)
numerical_columns = goods_in.select_dtypes(include=['number'])
goods_sum=numerical_columns.corr()
print(goods_sum)
          蘋果        橘子        石榴
蘋果  1.000000 -0.891793  0.770881
橘子 -0.891793  1.000000 -0.954411
石榴  0.770881 -0.954411  1.000000
from pandas import DataFrame
paints={"字畫名稱":["旭日東升","富水長流","招財進寶","鴻運當頭"],"字畫底價":[2860,498,1068,598],"字畫拍賣加價":[1000,2000,500,1500]}
goods_in=DataFrame(paints,index=["第一幅","第二幅","第三幅","第四幅"])
goods_in.to_csv("paint.csv")
from pandas import DataFrame
import numpy as np
paints={"電話號碼":["138xxxx1111","189xxxx1111","139xxxx1111","130xxxx1111","131xxxx1111"]}
goods_in=DataFrame(paints)
# 從電話號碼中提取了前3位作為運營商前綴這個維度的數據。
goods_in["運營商前綴"]=goods_in["電話號碼"].str.slice(0,3)
print(goods_in)
          電話號碼 運營商前綴
0  138xxxx1111   138
1  189xxxx1111   189
2  139xxxx1111   139
3  130xxxx1111   130
4  131xxxx1111   131
import pandas as pd
from pandas import DataFrame
login={"會員Id":[110,111,112,113],"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員Id":[110,111,112,113],"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,4])
member_info=DataFrame(info,index=[1,2,3,4])
member=pd.merge(login_member,member_info,on="會員Id")
print(member)# 代碼中定義了會員的登錄login_member的DataFrame,又定義了會
# 員信息member_info的DataFrame。這兩個DataFrame通過“會員Id”實
# 現了一一對應的關系,通過merge()方法把兩個DataFrame數據結構合
# 并,在合并時指明參數on的值是以“會員Id”這個維度作為參考的
   會員Id 會員名稱    會員密碼  會員地址  會員會費
0   110   劉一   admin  北京朝陽   250
1   111   趙二  123456  北京豐臺   360
2   112   薛三  000000  北京大興   470
3   113   陸四  888888  河北廊坊   550
import pandas as pd
from pandas import DataFrame
login={"會員Number號碼":[110,111,112,113],"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員Card":[110,111,112,113],"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,4])
member_info=DataFrame(info,index=[1,2,3,4])
member=pd.merge(login_member,member_info,left_on="會員Number號碼",right_on="會員Card")
print(member)
   會員Number號碼 會員名稱    會員密碼  會員Card  會員地址  會員會費
0         110   劉一   admin     110  北京朝陽   250
1         111   趙二  123456     111  北京豐臺   360
2         112   薛三  000000     112  北京大興   470
3         113   陸四  888888     113  河北廊坊   550
import pandas as pd
from pandas import DataFrame
login={"會員Number號碼":[110,111,112,114],"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員Card":[110,111,112,113],"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,4])
member_info=DataFrame(info,index=[1,2,3,4])
member=pd.merge(login_member,member_info,left_on="會員Number號碼",right_on="會員""Card")
print(member)
   會員Number號碼 會員名稱    會員密碼  會員Card  會員地址  會員會費
0         110   劉一   admin     110  北京朝陽   250
1         111   趙二  123456     111  北京豐臺   360
2         112   薛三  000000     112  北京大興   470

Cov ( X , Y ) = 1 n ? 1 ∑ i = 1 n ( X i ? X ˉ ) ( Y i ? Y ˉ ) \text{Cov}(X, Y) = \frac{1}{n-1} \sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y}) Cov(X,Y)=n?11?i=1n?(Xi??Xˉ)(Yi??Yˉ)

import pandas as pd
from pandas import DataFrame
login={"會員Number號碼":[110,111,112,114],"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員Card":[110,111,112,113],"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,4])
member_info=DataFrame(info,index=[1,2,3,4])
member=pd.merge(login_member,member_info,left_on="會員Number號碼",right_on="會員Card",how="outer")
print(member)
   會員Number號碼 會員名稱    會員密碼  會員Card  會員地址   會員會費
0       110.0   劉一   admin   110.0  北京朝陽  250.0
1       111.0   趙二  123456   111.0  北京豐臺  360.0
2       112.0   薛三  000000   112.0  北京大興  470.0
3         NaN  NaN     NaN   113.0  河北廊坊  550.0
4       114.0   陸四  888888     NaN   NaN    NaN
import pandas as pd
from pandas import DataFrame
login={"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,4])
member_info=DataFrame(info,index=[1,2,3,4])
member=pd.merge(login_member,member_info,left_index=True,right_index=True)
print(member)
  會員名稱    會員密碼  會員地址  會員會費
1   劉一   admin  北京朝陽   250
2   趙二  123456  北京豐臺   360
3   薛三  000000  北京大興   470
4   陸四  888888  河北廊坊   550
import pandas as pd
from pandas import DataFrame
login={"會員名稱":["劉一","趙二","薛三","陸四"],"會員密碼":["admin","123456","000000","888888"]}
info={"會員地址":["北京朝陽","北京豐臺","北京大興","河北廊坊"],"會員會費":[250,360,470,550]}
login_member=DataFrame(login,index=[1,2,3,5])
member_info=DataFrame(info,index=[1,2,3,4])
member=login_member.join(member_info)
print(member)
  會員名稱    會員密碼  會員地址   會員會費
1   劉一   admin  北京朝陽  250.0
2   趙二  123456  北京豐臺  360.0
3   薛三  000000  北京大興  470.0
5   陸四  888888   NaN    NaN
import pandas as pd
from pandas import Series
member1=Series([1,350],index=["會員級別","會員最低消費"])
member2=Series([2,100,10],index=["會員購買產品次數","會員卡最低存額","會員活動次數"])
member3=Series([2],index=["會員推薦人數"])
member=pd.concat([member1,member2,member3])
print(member)
會員級別          1
會員最低消費      350
會員購買產品次數      2
會員卡最低存額     100
會員活動次數       10
會員推薦人數        2
dtype: int64
import pandas as pd
from pandas import Series
member1=Series([1,350],index=["會員級別","會員最低消費"])
member2=Series([2,100,10],index=["會員購買產品次數","會員卡最低存額","會員活動次數"])
member3=Series([2],index=["會員推薦人數"])
member=pd.concat([member1,member2,member3],axis=1)
print(member)# 從結果上看,輸出了DataFrame數據結構,這是由于傳入axis=1,
# 結果就會變成一個DataFrame,其中的axis=1是列,沒有數據的地方就
# 會顯示NaN。concat()在這里也體現了并運算,把所有不同的維度連接
# 在了一起。在這種情況下,另外一條軸上沒有重疊,從索引的有序并
# 集(外連接)上就可以看出來。
              0      1    2
會員級別        1.0    NaN  NaN
會員最低消費    350.0    NaN  NaN
會員購買產品次數    NaN    2.0  NaN
會員卡最低存額     NaN  100.0  NaN
會員活動次數      NaN   10.0  NaN
會員推薦人數      NaN    NaN  2.0
import pandas as pd
from pandas import Series
member1=Series([1,350],index=["會員級別","會員最低消費"])
member2=Series([1,100,10,2],index=["會員級別","會員卡最低存額","會員活動次數","會員推薦人數"])
member3=Series([1,350,2],index=["會員級別","會員最低消費","會員推薦人數"])
member=pd.concat([member1,member2,member3],axis=1,join="inner")
print(member)
      0  1  2
會員級別  1  1  1
# 代碼中使用groupby()方法對“會員消費”與“會員級別”組成的
# DataFrame數據進行分組,分組參照的維度為“會員級別”。sum()方
# 法的作用是對分組之后的“會員消費”進行求和運算,旨在統計不同
# 的會員級別的消費情況import pandas as pd
from pandas import DataFrame
member=DataFrame({"會員級別":[1,2,5,3,1,1,2,5,2,3,1,1,2,3,5,4],"會員消費情況":[100,500,2500,1427,90,90,490,2498,486,1315,89,97,490,1489,2389,1900]})
member_group=member.groupby("會員級別").sum()
print(member_group)
      會員消費情況
會員級別        
1        466
2       1966
3       4231
4       1900
5       7387
import pandas as pd
from pandas import DataFrame
member=DataFrame({"會員級別":[1,2,5,3,1,1,2,5,2,3,1,1,2,3,5,4],"會員消費情況":[100,500,2500,1427,90,90,490,2498,486,1315,89,97,490,1489,2389,1900],"會員參與活動數目":[1,3,10,5,3,3,6,8,4,2,3,3,6,5,4,1]})
member_group=member.groupby(["會員級別","會員參與活動數目"]).sum()
print(member_group)
               會員消費情況
會員級別 會員參與活動數目        
1    1            1003            366
2    3            5004            4866            980
3    2           13155           2916
4    1           1900
5    4           23898           249810          2500
import pandas as pd
import numpy as np
from pandas import DataFrame
member=DataFrame({"會員級別":[1,2,5,3,1,1,2,5,2,3,1,1,2,3,5,4],"會員消費情況":[100,500,2500,1427,90,90,490,2498,486,1315,89,97,490,1489,2389,1900],"會員參與活動數目":[1,3,10,5,3,3,6,8,4,2,3,3,6,5,4,1]})
member_group=member.groupby("會員級別").agg([np.sum,np.mean,np.std])
print(member_group)
     會員消費情況                         會員參與活動數目                    sum         mean        std      sum      mean       std
會員級別                                                            
1       466    93.200000   4.969909       13  2.600000  0.894427
2      1966   491.500000   5.972158       19  4.750000  1.500000
3      4231  1410.333333  88.189191       12  4.000000  1.732051
4      1900  1900.000000        NaN        1  1.000000       NaN
5      7387  2462.333333  63.516402       22  7.333333  3.055050
# 代碼中pivot_table后面的參數,第一個參數是需要進行透視表操
# 作的DataFrame數據,第二個參數是建立透視表時以“會員級別”維度
# 作為索引,第三個參數是統計的時候的運算方法,如是求和還是求平
# 均數等。這里是求和
import pandas as pd
import numpy as np
from pandas import DataFrame
member=DataFrame({"會員級別":[1,2,5,3,1,1,2,5,2,3,1,1,2,3,5,4],"會員消費情況":[100,500,2500,1427,90,90,490,2498,486,1315,89,97,490,1489,2389,1900],"會員參與活動數目":[1,3,10,5,3,3,6,8,4,2,3,3,6,5,4,1]})
member_table=pd.pivot_table(member,index=["會員級別"],aggfunc=
[np.sum])
print(member_table)
          sum       會員參與活動數目 會員消費情況
會員級別                
1          13    466
2          19   1966
3          12   4231
4           1   1900
5          22   7387

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898568.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

優選算法系列(3.二分查找 )

目錄 一.二分查找(easy) 題目鏈接:704. 二分查找 - 力扣(LeetCode) 解法: 代碼: 二.在排序數組中查找元素的第?個和最后?個位置(medium) 題目鏈接:34.…

DAY36貪心算法Ⅴ

56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; class Solution { static bool cmp(vector<int>&a,vector<int>&b){return a[0] < b[0]; } public:vector<vector<int>> merge(vector<vector<int>>& intervals) {so…

阿里云服務器部署 五 Nginx + springboot

Nginx的部分配置 1. 基礎容災配置&#xff08;被動健康檢查&#xff09; 在 upstream 塊中&#xff0c;通過 max_fails 和 fail_timeout 參數定義故障轉移規則&#xff1a; 在 upstream 塊中&#xff0c;通過 max_fails 和 fail_timeout 參數定義故障轉移規則&#xff1a;…

基于大模型的下頜前突畸形預測及治療方案研究報告

目錄 一、引言 1.1 研究背景 1.2 研究目的 1.3 研究意義 二、大模型技術原理與應用現狀 2.1 大模型的基本原理 2.2 在醫療領域的應用案例 2.3 在下頜前突畸形研究中的可行性分析 三、下頜前突畸形概述 3.1 定義與分類 3.2 流行病學特征 3.3 病因與發病機制 3.4 對…

接口自動化測試框架詳解

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 接口自動化測試是指通過編寫程序來模擬用戶的行為&#xff0c;對接口進行自動化測試。Python是一種流行的編程語言&#xff0c;它在接口自動化測試中得到了廣泛…

Day11 動態規劃入門

動態規劃 就是 : 給定一個問題&#xff0c;我們把它拆成一個個子問題&#xff0c;直到子問題可以直接解決。然后把子問題的答案保存起來&#xff0c;以減少重復計算。再根據子問題答案反推&#xff0c;得出原問題解的一種方法. 記憶化搜索 暴力dfs 記錄答案 動態規劃入門思…

[AI速讀]用持續集成(CI)優化芯片驗證環境:Jenkins與EDA工具的實戰指南

在芯片驗證中,回歸測試(Regression Test)是確保設計穩定性的關鍵步驟。但隨著設計復雜度增加,手動管理海量測試用例、分析日志和覆蓋率數據變得異常耗時。本文將介紹如何利用持續集成(CI)工具Jenkins,結合EDA驗證環境(如Cadence vManager),實現自動化測試與結果分析,…

深度解析:JavaScript變量聲明的演變與核心差異(var/let/隱式聲明)

深度解析&#xff1a;JavaScript變量聲明的演變與核心差異&#xff08;var/let/隱式聲明&#xff09; 一、JavaScript變量聲明的演進史 JavaScript的變量聲明機制經歷了三個階段演進&#xff1a; 原始階段&#xff08;ES5及之前&#xff09;&#xff1a;僅 var 聲明 隱式全局…

第2.1節:AWK腳本結構

1 第2.1節&#xff1a;AWK腳本結構 1.1 第1個awk腳本 假設有如下的數據待處理&#xff0c;需要將第2列提取出來&#xff1a; #, 名稱, 大小, 類型, 修改, 屬性 1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a----- 2, config, …

Win NAS 分享功能:精準、安全的內容共享

WinNAS 不僅是一款強大的 NAS服務&#xff0c;還通過耘想存儲 APP 提供了便捷的內容分享功能。無論是與個人、群聊、朋友圈還是公眾分享文件&#xff0c;WinNAS 都配備了嚴格的權限管理機制&#xff0c;確保您的數據安全且精準地傳遞給目標對象。以下是 WinNAS 分享功能的詳細介…

C# 項目06-計算程序運行時間

實現需求 記錄程序運行時間&#xff0c;當程序退出后&#xff0c;保存程序運行時間&#xff0c;等下次程序再次啟動時&#xff0c;繼續記錄運行時間 運行環境 Visual Studio 2022 知識點 TimeSpan 表示時間間隔。兩個日期之間的差異的 TimeSpan 對象 TimeSpan P_TimeSpa…

網絡華為HCIA+HCIP NFV

目錄 NFV關鍵技術&#xff1a;虛擬化 NFV關鍵技術&#xff1a;云化 NFV架構 NFV標準架構 ?編輯 NFV架構功能模塊 NFV架構接口 NFV關鍵技術&#xff1a;虛擬化 在NFV的道路上&#xff0c;虛擬化是基礎&#xff0c;云化是關鍵。傳統電信網絡中&#xff0c;各個網元都是…

SpringBoot實現異步調用的方法

在Java中使用Spring Boot實現異步請求和異步調用是一個常見的需求&#xff0c;可以提高應用程序的性能和響應能力。以下是實現這兩種異步操作的基本方法&#xff1a; 一、異步請求&#xff08;Asynchronous Request&#xff09; 異步請求允許客戶端發送請求后立即返回&#x…

xwiki自定義認證實現單點登錄

xwiki支持自定義認證 繼承XWikiAuthServiceImpl類后將類配置到WEB-INFO下xwiki.cfg的xwiki.authentication.authclass屬性上開啟自定義認證。 官方文檔&#xff1a;https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Authentication/ 官方自定義認證的示例&#…

使用vite新建vue3項目 以及elementui的使用 vite組件問題

項目創建 在創建項目之前我們應該在終端中輸入 node -v 和 npm -v 只有它們都能正常查看版本號才說明我們之前是已經安裝完成的。 接下來我們在合適的目錄下輸入npm create vitelatest 它會要求你輸入項目的名稱&#xff0c;這個名稱和我們之前通過cil創建的命名規則一樣。…

音頻錄制小妙招-自制工具-借助瀏覽器錄一段單聲道16000采樣率wav格式音頻

先看效果 1、打開頁面 2、點擊開始錄音&#xff0c;彈出權限提示&#xff0c;點擊“僅這次訪問時允許” 3、錄完后&#xff0c;點擊停止 4、文件自動下載到默認目錄 上代碼 js 部分 document.addEventListener(DOMContentLoaded, () > {const startBtn document.getEleme…

Mysql-經典實戰案例(10):如何用PT-Archiver完成大表的自動歸檔

真實痛點&#xff1a;電商訂單表存儲優化場景 現狀分析 某電商平臺訂單表&#xff08;order_info&#xff09;每月新增500萬條記錄 主庫&#xff1a;高頻讀寫&#xff0c;SSD存儲&#xff08;空間告急&#xff09;歷史庫&#xff1a;HDD存儲&#xff0c;只讀查詢 優化目標 …

CUDA編程面試高頻30題

1. 什么是CUDA&#xff1f;它與GPU的關系是什么&#xff1f; 答: CUDA&#xff08;Compute Unified Device Architecture&#xff09;是由NVIDIA開發的一種并行計算平臺和應用程序接口模型。它允許開發者利用NVIDIA GPU進行通用計算任務&#xff0c;而不僅僅是圖形渲染。CUDA提…

數學建模 繪圖 圖表 可視化(3)

文章目錄 前言二維散點圖系列坐標圖數據分布特征&#xff0c;Q-Q、P-P圖分類圖一般的曲線圖峰巒圖總結參考資料 前言 承接上期 數學建模 繪圖 圖表 可視化&#xff08;1&#xff09;的總體描述&#xff0c;這期我們繼續跟隨《Python 數據可視化之美 專業圖表繪制指南》步伐來學…

【數據結構】棧(Stack)、隊列(Queue)、雙端隊列(Deque) —— 有碼有圖有真相

目錄 棧和隊列 1. 棧&#xff08;Stack&#xff09; 1.1 概念 1.2 棧的使用&#xff08;原始方法&#xff09; 1.3 棧的模擬實現 【小結】 2. 棧的應用場景 1、改變元素的序列 2、將遞歸轉化為循環 3、逆波蘭表達式求值 4、括號匹配 5、出棧入棧次序匹配 6、最小棧…