尝试 pd.concat 时出现意外的 NaN 值。如何处理? PCA 与 T-SNE

I am getting unexpected NaN value when trying pd.concat. How to deal with this? PCA vs T-SNE

我正在尝试使用 PCA 减少数据的维度,但是,当我使用 concat 时,它会自动生成一个 NaN 值。此外,客户年龄在 int 时也变成了 float。有人可以告诉我如何解决这个问题吗? 如果您告诉我是否应该使用 PCA 或 tSNE 来可视化具有 14 个变量的数据(其中有一列仅包含 12000 个中的 4 个不同变量(1、2、3、4)),我们将不胜感激值,有两列带有布尔值)。

x and y

# Separating out the Demographic Data.

x = Demo_Data.values

# Separating out the Target as regions. 
y = df2.loc[:,['Customer_Age']].values

# Standardizing the features
scaler = StandardScaler()
x = scaler.fit_transform(x)

from sklearn.decomposition import PCA
pca = PCA(n_components=2)
Demography_Data = pca.fit_transform(x)
principalDf = pd.DataFrame(data = Demography_Data
             , columns = ['Demography_Data 1', 'Demography_Data 2'])
finalDf = pd.concat([principalDf, df2[['Customer_Age']]], axis = 1)

您的 DataFrame 中的 index 不匹配:

>>> import pandas as pd
>>> df1 = pd.DataFrame([11,22,33])
>>> df2 = pd.DataFrame([111,222,333], index=[1,2,3])
>>> pd.concat((df1,df2),axis=1)
      0      0
0  11.0    NaN
1  22.0  111.0
2  33.0  222.0
3   NaN  333.0

但是:

>>> df2.index=df1.index
>>> pd.concat((df1,df2),axis=1)
    0    0
0  11  111
1  22  222
2  33  333