【发布时间】:2017-06-07 14:37:40
【问题描述】:
我有一个变量 initial_value,等于 1000,我想对 B 列上的值求和。initial_value 和 B 列只会在 C 列等于 1 而不是 0 时求和。因此,生成的初始值Class 运算后应该是 1030(或 1000 + 10 - 30 + 70 + 10)。到目前为止,我已经尝试过:
import pandas as pd
from __future__ import division
import numpy as np
df = pd.DataFrame({"A":[40,50,60,70,20,30,40,10,10,80,60,40,50],\
"B":[0,10,10,10,-50,10,10,-30,0,70,-20,-20,10], \
"C":[0,0,0,1,0,0,0,1,0,1,0,0,1]})
A = df['A']
B = df['B']
C = df['C']
initial_value = 1000.00
class test:
def __init__(self, A, B, C, initial_value):
self.A = A
self.B = B
self.C = C
self.initial_value = initial_value
def test_values(self):
self.initial_value = self.initial_value + self.B
return self.initial_value
x = test(A, B, C, initial_value)
x.test_values()
print x
【问题讨论】:
标签: python class pandas oop dataframe