如何解决如何将Sympy符号添加到数据框值
所以我试图在数据框列的所有值中添加一个sympy符号(b),但它似乎不起作用。
这些是代码:
import sympy as sp
import pandas as pd
df = pd.read_excel('salary.xlsx')
b = sp.symbols('b')
def fne():
for i in range(len(df)):
print((df.loc[i,"salary"] - (50+df.loc[i,"years"]*b))**2)
fne()
但是我得到的结果是:
(38.0 - 11*b)**2
(27.3 - 6*b)**2
(25.3 - 7*b)**2
(46.4 - 20*b)**2
(37.7 - 8*b)**2
我想要的是实际值本身,因此例如第一个结果看起来像这样:
(38.0−11?)^2
解决方法
我告诉过许多其他发布者,sympy
和numpy
没有集成。 sympy
个对象在numpy
数组中可以将其视为Python对象。似乎对pandas
也是如此。
在isympy
会话中,我带有符号:
In [268]: tau
Out[268]: τ
In [269]: tau**2
Out[269]:
2
τ
In [270]: import pandas as pd
In [271]: S = pd.Series([tau,1*tau,tau**2])
In [272]: S
Out[272]:
0 tau
1 tau
2 tau**2
dtype: object
In [273]: S.values
Out[273]: array([tau,tau,tau**2],dtype=object)
In [274]: [i for i in S]
Out[274]:
⎡ 2⎤
⎣τ,τ,τ ⎦
In [282]: S.tolist()
Out[282]:
⎡ 2⎤
⎣τ,τ ⎦
系列(和数据框)将值存储为numpy数组(在可能的范围内)。请注意,数组和序列的显示均为“普通”。只有当我自己显示元素时,我才能获得sympy
格式。对象dtype数组使用repr(i)
来格式化i
元素。
In [276]: print(repr(tau**2))
tau**2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。