如何将序列与tuple
相乘,序列中的每个值将乘以tuple
中的每个值。
我写了一个代码的例子,向你展示预期结果的例子:
import numpy as np
import pandas as pd
def main():
s = pd.Series(data=np.around(a=np.random.uniform(size=10), decimals=3))
t = (2, 3, 5, 7)
print(s)
if __name__ == '__main__':
main()
我的输出:
0 0.709
1 0.567
2 0.894
3 0.660
4 0.348
5 0.465
6 0.974
7 0.832
8 0.888
9 0.265
dtype: float64
我需要得到这个结果:
0 (1.418, 2.127, 3.545, 4.963)
1 (1.134, 1.701, 2.835, 3.969)
2 (..., ..., ..., ...)
3 (..., ..., ..., ...)
4 (..., ..., ..., ...)
5 (..., ..., ..., ...)
6 (..., ..., ..., ...)
7 (..., ..., ..., ...)
8 (..., ..., ..., ...)
9 (..., ..., ..., ...)
dtype: float64
7条答案
按热度按时间zf9nrax11#
试试看
输出量
dluptydi2#
您可以尝试:
避免列表解析和循环
k3bvogb13#
输出:
w46czmvw4#
将元组转换为NumPy数组可以使您的工作更轻松。它只是将整个数组与Series中存在的元素相乘,然后u可以将NumPy数组再次转换为元组。虽然多次转换效率不高,但使用numpy数组处理更大的元组是有利的。如果元组不需要出现在系列中,处理NumPy数组是一个很好的实践。下面的代码可以完成这项工作。
sy5wg1nm5#
因为之前的答案都被接受了,我一个都不喜欢。我提出了我的解决方案,没有应用或循环:
乘法使用列的名称来匹配它们。使用相同的名称来解决问题。可能的输出:
0pizxfdo6#
以下是使用numpy广播的方法:
输出:
xyhw6mcr7#
您可能希望使用pandas DataFrame处理“二维”数据。您可以尝试以下操作:
此代码将打印: