gpt4 book ai didi

python - 将 Series 转换为 DataFrame

转载 作者:行者123 更新时间:2023-11-28 16:22:46 24 4
gpt4 key购买 nike

我创建了一个数据框'x'

我想创建另一个数据框 y,它包含来自数据框 x 的特征“wheat_type”的值

所以我执行了代码

y=X.loc[:, 'wheat_type']

当我运行以下命令时

y['wheat_type'] = y.wheat_type("category").cat.codes

出现以下错误

'Series' object has no attribute 'wheat_type'

在执行 type(X) 时,我得到了

 <class 'pandas.core.frame.DataFrame'>

在执行 type(y) 时,我得到了

 <class 'pandas.core.series.Series'>

是否有可能将 y 转换为数据帧。如果没有,请告诉我如何从 x 创建所需的数据帧 y

最佳答案

看来需要astypeto_frame :

X = pd.DataFrame({'wheat_type':[5,7,3]})
print (X)
wheat_type
0 5
1 7
2 3

#create DataFrame by subset
y=X[['wheat_type']]

#cast to category and get codes
y['wheat_type'] = y.wheat_type.astype("category").cat.codes
print (y)
wheat_type
0 1
1 2
2 0

如果有多个列,最好使用 to_frame 作为指示 Ami :

X = pd.DataFrame({'wheat_type':[5,7,3], 'z':[4,7,9]})
print (X)
wheat_type z
0 5 4
1 7 7
2 3 9

y = X['wheat_type'].to_frame()

#cast to category and get codes
y['wheat_type'] = y.wheat_type.astype("category").cat.codes
print (y)
wheat_type
0 1
1 2
2 0

另一种创建新 DataFrame 的解决方案是通过子集和 copy :

y = X[['wheat_type']].copy()

关于python - 将 Series 转换为 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38913355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com