【发布时间】:2017-01-19 14:01:14
【问题描述】:
我有一个python dataframe,有 150 万行和 8 列。我想合并几列并创建一个新列。我知道如何做到这一点,但想知道哪个更快更高效。我在这里复制我的代码
import pandas as pd
import numpy as np
df=pd.Dataframe(columns=['A','B','C'],data=[[1,2,3],[4,5,6],[7,8,9]])
现在这是我想要实现的目标
df['D']=0.5*df['A']+0.3*df['B']+0.2*df['C']
另一种选择是使用熊猫的apply functionality
df['D']=df.apply(lambda row: 0.5*row['A']+0.3*row['B']+0.2*row['C'])
我想知道当我们有 150 万行并且必须组合 8 列时,哪种方法花费的时间更少
【问题讨论】:
-
所以您基本上是在要求某人为您进行基准测试?
-
是的,因为我直到现在才知道该怎么做。现在我知道存在类似 timeit 的东西。
-
好吧,you could just Google it。 SO 既不是基准测试也不是谷歌搜索服务(尽管有些人会回答任何问题)。
-
@DavidArenburg- 如果您查看答案,这不仅仅是基准测试。有经验的人提供了替代计算方法,比我基准测试的方法有效
标签: python performance pandas numpy dataframe