【发布时间】:2016-12-08 21:58:27
【问题描述】:
我有一个看起来像这样的 DataFrame(有许多额外的列)
age1 age2 age3 age 4 \
Id#
1001 5 6 2 8
1002 7 6 1 0
1003 10 9 7 5
1004 9 12 5 9
我正在尝试编写一个循环,将每一列与之前的列相加,并将其返回到一个新的 DataFrame。 我已经开始了,简单地说:
New = pd.DataFrame()
New[0] = SFH2.ix[:,0]
for x in SFH2:
ls = [x,x+1]
B = SFH2[ls].sum(axis=1)
New[x] = B
print(New)
我得到的错误是
ls = [x,x+1]
TypeError: Can't convert 'int' object to str implicitly
我知道 int 和 str 是不同的对象,但是我怎样才能克服这个问题,或者是否有不同的方法来遍历列? 谢谢!
【问题讨论】:
-
您能否明确说明您希望输出的内容是什么?
-
换句话说,您希望每一列是左侧所有列的总和,还是只是该列和左侧(右侧?)的单个列的总和。
-
我希望每一列都是左边所有列的总和。
-
@cmf05 - 我认为最好的方法是在问题中添加所需的输出,也许在另一个问题中你可以这样做;)
标签: python loops pandas dataframe iteration