如何将结果从方程式(float)到列的python保存



我有数据框架外观行:

df:

 1 2 3.4
-2 2 1.1
 2 3 4
-5 5 5

我可以在我的方程式上使用此数据,例如:

result=abs(int(df[0])) +( int(df[1]) / 2 + float(df[2]) / 32)

因此,在此计算之后,我收到了df中每行的结果的列表,结果类型是浮点。问题:如何将其保存到一个列或dataFrame中,并将其与result一起添加到与df相同的另一个数据框架中?

我尝试了pd.DataFrame(result),它不起作用。

直接分配给您要创建的新列。

df[3] = abs(int(df[0])) +( int(df[1]) / 2 + float(df[2]) / 32)

我认为您需要使用Series.abs的铸件 Series.astype

df = pd.DataFrame({0: [1, -2, 2, -5], 1: [2, 2, 3, 5], 2: [3.4, 1.1, 4.0, 5.0]})
print (df)
   0  1    2
0  1  2  3.4
1 -2  2  1.1
2  2  3  4.0
3 -5  5  5.0
df[3] = df[1].astype(int).abs() +df[1].astype(int) / 2 + df[2].astype(float) / 32
print (df)
   0  1    2         3
0  1  2  3.4  3.106250
1 -2  2  1.1  3.034375
2  2  3  4.0  4.625000
3 -5  5  5.0  7.656250

最新更新