pandas 主成分分析调用
时间: 2023-10-01 13:08:41 浏览: 48
使用 pandas 进行主成分分析可以分为以下几个步骤:
1. 导入需要的库
```python
import pandas as pd
from sklearn.decomposition import PCA
```
2. 读取数据
```python
data = pd.read_csv('data.csv')
```
3. 准备数据
将需要进行主成分分析的数据转换成 numpy 数组形式,并进行标准化处理,以确保每个变量的权重相同。
```python
X = data.values
from sklearn.preprocessing import StandardScaler
X = StandardScaler().fit_transform(X)
```
4. 进行主成分分析
```python
pca = PCA(n_components=2)
principalComponents = pca.fit_transform(X)
principalDf = pd.DataFrame(data = principalComponents, columns = ['PC1', 'PC2'])
```
5. 分析结果
可以通过输出主成分分析后的主成分方差贡献率,来了解每个主成分对原始数据的解释力度。
```python
print(pca.explained_variance_ratio_)
```
同时,可以将主成分的得分与原始数据合并,以便进一步分析。
```python
finalDf = pd.concat([principalDf, data[['var1', 'var2', 'var3']]], axis = 1)
```
完整代码如下:
```python
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# 读取数据
data = pd.read_csv('data.csv')
# 准备数据
X = data.values
X = StandardScaler().fit_transform(X)
# 进行主成分分析
pca = PCA(n_components=2)
principalComponents = pca.fit_transform(X)
principalDf = pd.DataFrame(data = principalComponents, columns = ['PC1', 'PC2'])
# 分析结果
print(pca.explained_variance_ratio_)
finalDf = pd.concat([principalDf, data[['var1', 'var2', 'var3']]], axis = 1)
print(finalDf.head())
```