【问题标题】:How would I change the values (type is string) of a series to an int? [duplicate]如何将系列的值(类型为字符串)更改为 int? [复制]
【发布时间】:2019-04-01 16:40:14
【问题描述】:
所以基本上我有这个数据框,在这个数据框中有一系列“形状”,其唯一值 ['圆柱体'、'圆形'、'光'、'雪茄'、'钻石'、'椭圆形'、. ..] 我想把这些形状变成数字,这样我就可以用它们来制作散点图。
当每个独特的形状都有自己的“id”作为 int 时,有没有办法制作另一个系列?
编辑:设法让它与 pandas factorize 一起工作
【问题讨论】:
标签:
python
numpy
dataframe
【解决方案1】:
尝试 sklean LabelEncoder 将您的 categorical 列转换为 Numerical ,然后您可以绘制它
import pandas as pd
df = pd.DataFrame(['cylinder', 'circle', 'light', 'cigar', 'diamond', 'oval'])
df.columns = ['shape']
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
le.fit_transform(df)
plt.scatter(df.index , df['shape'])