You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Python/Jupyter中从DataFrame拆分列生成Series?

解决DataFrame拆分指定列为独立Series的问题

你之前的代码出错主要有两个小细节问题,咱们一步步来修正:

首先,你已经正确创建了包含目标列的DataFrame,这部分逻辑没问题:

columns = ['Emerging Markets','Event Driven'] 
TargetData = Hedgefunds[columns]

错误原因分析

你尝试拆分时的代码存在两处问题:

Emerging_Markets_Column = ['Emerging Markets']
EM = TargetData['Emerging_Markets-Column']
  1. 变量名拼写错误:你定义的变量是Emerging_Markets_Column(下划线连接),但调用时写成了Emerging_Markets-Column(减号连接),Python会把减号识别为算术运算符,直接触发报错;
  2. 取列方式不对:就算变量名写对了,用列表['Emerging Markets']取列得到的还是DataFrame,不是你想要的Series类型。

正确拆分方法

要直接提取单列并转为Series,只需要用单括号+列名字符串即可:

# 提取"Emerging Markets"列转为Series
EM = TargetData['Emerging Markets']

# 提取"Event Driven"列转为Series
ED = TargetData['Event Driven']

如果不确定是否得到了正确的Series,可以用type(EM)验证,输出结果应该是pandas.core.series.Series

另外补充个小技巧:如果你担心列名拼写出错,可以用变量存储列名再调用,更稳妥:

em_col = 'Emerging Markets'
ed_col = 'Event Driven'

EM = TargetData[em_col]
ED = TargetData[ed_col]

内容的提问来源于stack exchange,提问作者AATU

火山引擎 最新活动