Vic*_*tor 3 python dataframe pandas
a b c
6/29/2018 0.744189037 0.251833984 0.632784618
6/30/2018 0.476601558 0.694181607 0.7951655
7/1/2018 0.91376258 0.111712256 0.813708374
7/2/2018 0.849505199 0.037035716 0.973137932
Run Code Online (Sandbox Code Playgroud)
所以我试图使用这个数据框并基于数学运算创建一个新的。到目前为止我有df3 = df2[['a','b']] and df4 = pd.DataFrame(df3[['a']]*2 - df3[['b']])。
总而言之,我想使用 df3 和多列 a 乘以 2 并按列 b 减去该值,然后将结果放入一个全新的数据框中。
我也想得到的最终输出是
2*a-b
6/29/2018 1.23654409
6/30/2018 0.259021508
7/1/2018 1.715812903
7/2/2018 1.661974683
Run Code Online (Sandbox Code Playgroud)
然而,这会产生 的所有值NA。
如果需要使用mulwith sub,最后to_frame一列DataFrame:
df1 = df['a'].mul(2).sub(df['b']).to_frame('col')
#same as
#df1 = (df['a'] * 2 - df['b']).to_frame('col')
print (df1)
col
6/29/2018 1.236544
6/30/2018 0.259022
7/1/2018 1.715813
7/2/2018 1.661975
Run Code Online (Sandbox Code Playgroud)
而对于Series:
s = df['a'].mul(2).sub(df['b'])
print (s)
6/29/2018 1.236544
6/30/2018 0.259022
7/1/2018 1.715813
7/2/2018 1.661975
dtype: float64
Run Code Online (Sandbox Code Playgroud)