[英]add a column to the dataframe using a loop in python pandas
[英]how to save values in a column of pandas dataframe using for loop in python
我有一個熊貓數據框,我想添加一個列(A)索引0的值和另一個列(B)索引1的值,並將結果保存在列A的索引1中。我在一個數據幀中有列B ,我嘗試了以下代碼,但無法正常工作-
A = [None] * len(df)
A[0] = A["B"][0]
df["A"] = A
df:
B A
Date
2017-09-30 0.0 0
2017-10-01 1.0 None
2017-10-02 2.0 None
2017-10-03 3.0 None
2017-10-04 4.0 None
for i in range(len(df)-1):
df["A"][i] = df["A"][i-1] + df["B"][i]
預期產量
B A
Date
2017-09-30 0.0 0
2017-10-01 1.0 1
2017-10-02 2.0 3
2017-10-03 3.0 6
2017-10-04 4.0 10
如果您使用的是熊貓,請盡量不要用於循環,這恰好超過了我認為的熊貓目的。 也許您可以嘗試這樣的事情:
我相信您首先不需要創建列A
並使用:
print (df)
B
Date
2017-09-30 0.0
2017-10-01 1.0
2017-10-02 2.0
2017-10-03 3.0
2017-10-04 4.0
df.loc[df.index[0], 'B'] = 0
df['A'] = df['B'].cumsum()
print (df)
B A
Date
2017-09-30 0.0 0.0
2017-10-01 1.0 1.0
2017-10-02 2.0 3.0
2017-10-03 3.0 6.0
2017-10-04 4.0 10.0
要么:
print (df)
B
Date
2017-09-30 10.0
2017-10-01 1.0
2017-10-02 2.0
2017-10-03 3.0
2017-10-04 4.0
b = df['B'].values.copy()
b[0] = 0
df['A'] = b.cumsum()
print (df)
B A
Date
2017-09-30 10.0 0.0
2017-10-01 1.0 1.0
2017-10-02 2.0 3.0
2017-10-03 3.0 6.0
2017-10-04 4.0 10.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.