Pandas从多个数据框架中分离分类和数字特征,并存储在一个新的数据框架中



我有一种情况,我想从下面提到的多个数据帧(df1,df2,df3和df4)中分离分类和数字特征,我想将它们存储在两个不同的数据帧中,名称为"one_answers";Cat"。我正在寻找一个循环到这些多个数据帧的过程,并给出我正在寻找的输出,如下所述。这应该完全可以使用pandas的dtypes功能来识别一个col是分类的还是数字的

输入数据帧如下所示:df1:

Name1       Number1
ABC         123
DEF         234
XXX         456

df2:

Name2        Number2
ABCD         1232
DEFG         2342
XXXY         4562

df3:

Name3      Number3
AB         12
DE         23
XX         45

df4:

Name4      Number4
A          1
D          3
X          5

输出应该如下所示:

:

Name1      Name2    Name3    Name4
ABC        ABCD     AB       A  
DEF        DEFG     DE       D
XXX        XXXY     XX       X 

和类似:<<strong>控制/strong>:

Number1    Number2  Number3  Number4
123        1232     12       1
234        2342     23       2
456        4562     45       5

如何做到这一点?

您可以使用pandas.DataFrame.select_dtypes创建两个数据框架。

试试这个:

out = pd.concat([df1, df2, df3, df4], axis=1)
​
cat= out.select_dtypes(include="object") #or include="category"
cont= out.select_dtypes(include=np.number)

#输出:

print(cat)
Name1 Name2 Name3 Name4
0   ABC  ABCD    AB     A
1   DEF  DEFG    DE     D
2   XXX  XXXY    XX     X
print(cont)
Number1  Number2  Number3  Number4
0      123     1232       12        1
1      234     2342       23        3
2      456     4562       45        5

最新更新