I am the beginner in pandas and am struggling with a for loop.
I loaded the following excel file to pandas:
x=pd.read_excel('BTC.xlsx',)
x
Here is what I get:
BTC obtained
0 0.00567
1 0.00054
2 0.00230
I want to iterate the numbers using a for loop:
n=0
for v in x.iteritems():
n =v
print(n)
When I run this, I always get the following error:
TypeError: unsupported operand type(s) for =: 'int' and 'tuple'
Can someone please help me with this?
CodePudding user response:
You could also use iterrows() for this like so:
df = pd.DataFrame({'BTC obtained':[0.00567,0.00054,0.00230]})
print(df)
n=0
for index, row in df.iterrows():
n =row["BTC obtained"]
print(n)
Output
0.00567
0.006209999999999999
0.00851
CodePudding user response:
If you see the documentation of iteritems, you will see that the command yields two things:
- label: object
- content: Series
That means that v will be a tuple (label, content). If you want to access the series you will have to access v[1].
Alternatively, you can do:
for label, v in in x.iteritems():
Based on your comment, it seems like you want the cumulative summation of the elements. You can do this without a for loop, by using pandas cumsum:
n = x.cumsum()
If you want to use a for loop you can do the following:
n=0
for label, v in x.iteritems():
n =v['BTC obtained']
print(n)
