我们可以在Pandas DataFrames上运行scikit-learn模型,还是需要将DataFrames转换为NumPy数组?
答案 0 :(得分:9)
您可以将pandas.DataFrame
与sklearn
一起使用,例如:
import pandas as pd
from sklearn.cluster import KMeans
data = [(0.2, 10),
(0.3, 12),
(0.24, 14),
(0.8, 30),
(0.9, 32),
(0.85, 33.3),
(0.91, 31),
(0.1, 15),
(-0.23, 45)]
p_df = pd.DataFrame(data)
kmeans = KMeans(init='k-means++', n_clusters=3, n_init=10)
kmeans.fit(p_df)
结果:
>>> kmeans.labels_
array([0, 0, 0, 2, 2, 2, 2, 0, 1], dtype=int32)
答案 1 :(得分:7)
Pandas DataFrames非常善于在需要时表现得像Numpy数组。如果有疑问,您可以随时使用values
属性来获取Numpy表示(df.values
将为您提供DataFrame df
中值的Numpy数组。