如何在Python中创建计算列?

时间:2015-01-23 18:57:20

标签: python data-analysis

我是Python的新手,我正在尝试复制我在SAS中习惯使用的功能。我想创建一个新变量(数据列),其中包含使用同一行(记录)的现有变量(数据列)进行计算的结果。我希望这个新变量成为现有数据集的一部分。经过大量研究,我找不到关于这个特定主题的任何内容。数据集源自包含两列数字数据的CSV文件,并且行大小不是先验可知的。我可以毫无问题地执行我需要的计算,但是尝试将数据集扩展到第三列,我可以在其中放置结果,这就是我遇到的问题。

import numpy as np

import pandas as pd

driver1_1_data = pd.read_csv(...)

for i in range(len(driver1_1_data.values[:,0])):
    MPS = np.sqrt((driver1_1_data.values[i,0]-driver1_1_data.values[i-1,0])**2+(driver1_1_data.values[i,1]-driver1_1_data.values[i-1,1])**2)

1 个答案:

答案 0 :(得分:1)

如果要计算特定要素(列)的值,可以使用pandas.DataFrame.apply()功能。

例如你可以这样做:

driver1_1_data['New Calculated Col'] = driver1_1_data.apply(lambda: row: np.sqrt(row['col1']*row['col2']...))

此代码创建一个名为New Calculated Col的新列,并使用您在apply(lambda...)中指定的计算填充该列。显然你会根据你的需要调整lambda中的内容,但我认为这会让你朝着正确的方向前进。