繁体   English   中英

如何将pandas dataframe中的所有元素与python中的int16相乘

[英]How to multiply all the elements in the pandas dataframe with int16 in python

pandas dataframe 有七列 100 行。使用arr = df.to_numpy()将其转换为 numpy nd 数组。现在,我必须将每个元素乘以 2^15 以将每个值转换为等效的 int16。给出了 ndarray这里只有 9 行。

dtype: object
[[ 0.     0.     0.     0.     0.     0.     0.   ]
 [ 0.063  0.125  0.187  0.249  0.309  0.368  0.426]
 [ 0.125  0.249  0.368  0.482  0.588  0.685  0.771]
 [ 0.187  0.368  0.536  0.685  0.809  0.905  0.969]
 [ 0.249  0.482  0.685  0.844  0.951  0.998  0.982]
 [ 0.309  0.588  0.809  0.951  1.     0.951  0.809]
 [ 0.368  0.685  0.905  0.998  0.951  0.771  0.482]
 [ 0.426  0.771  0.969  0.982  0.809  0.482  0.063]

乘法后,必须将浮点值转换为乘以 2^15 的值。 样本 output 是第 1 列更改值

df = pd.DataFrame(columns =['1Hz','2Hz', '3Hz', '4Hz', '5Hz', '6Hz', '7Hz'])
df['1Hz']=(2**15) *pd.Series(get_values_for_frequency(1))
df['2Hz']=(2**15) *pd.Series(get_values_for_frequency(2))
df['3Hz']=(2**15) *pd.Series(get_values_for_frequency(3))
df['4Hz']=(2**15) *pd.Series(get_values_for_frequency(4))
df['5Hz']=(2**15) *pd.Series(get_values_for_frequency(5))
df['6Hz']=(2**15) *pd.Series(get_values_for_frequency(6))
df['7Hz']=(2**15) *pd.Series(get_values_for_frequency(7))
df = df.round(decimals = 3)
df = df.astype(np.int16)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM