gpt4 book ai didi

python - 像在 Excel 中一样添加 pandas 数据框计算列

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:25 24 4
gpt4 key购买 nike

我目前将 panda 用于数据科学目的,这是非常原始的,所以我确信有比我的更好的方法,可以以 excel 方式将列添加到从其他人计算的数据框中。

例如,我有一个数据框,其中有一个质量和一个周期,我想添加一个包含 (M/P)^(1/3) 的列,M 和 P 是换算成合适的单位。然后我写

day_sec=60.0*60.0*24.0
Msun=1.989 * 10**30
clean=reduced.dropna()
v=pd.DataFrame(clean['orbital_period'].apply(lambda x: x**(1/3.0))/clean['star_mass'].apply(lambda x: x**(1/3.0)), columns=list('v'))*day_sec/(Msun**(1/3.0))
clean.append(v)

这甚至不像我想要的那样,而且写和读都非常复杂(在这里,等式非常非常简单)。有什么建议吗?

最佳答案

你根本不应该在这里使用 apply。您应该将新列编写为一个矢量化操作,如下所示。

clean['v'] = clean['orbital_period'] ** (1/3.0) / clean['star_mass'] ** (1/3.0) *day_sec/(Msun**(1/3.0))

看起来可以简化为以下内容:

power = 1/3.0
(clean.orbital_period / (clean.star_mass * Msun)) ** power * day_sec

关于python - 像在 Excel 中一样添加 pandas 数据框计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247617/

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