import pandas as pd
import numpy as np
time = ['11:50', '12:50', '13:50']
data_1 = {'time': time,
'n1': [1, 5, 8],
'n2': [2, 6 ,7],
'n3': [3, 7 ,6],
'n4': [4, 8, 5],
}
df1 = pd.DataFrame(data = data_1)
df1
I am trying to multiply:
Before:
time | n1 | n2 | n3 | n4 | |
---|---|---|---|---|---|
0 | 11:50 | 1 | 2 | 3 | 4 |
1 | 12:50 | 5 |
6 |
7 |
8 |
2 | 13:50 | 8 | 7 | 6 | 5 |
Expected result:
time | n1 | n2 | n3 | n4 | |
---|---|---|---|---|---|
0 | 11:50 | 1 | 2 | 3 | 4 |
1 | 12:50 | 50 | 60 | 70 | 80 |
2 | 13:50 | 800 | 700 | 600 | 500 |
You can use mul
on index axis:
df1.iloc[:, 1:] = df1.iloc[:, 1:].mul(10**df1.index, axis=0)
print(df1)
# Output
time n1 n2 n3 n4
0 11:50 1 2 3 4
1 12:50 50 60 70 80
2 13:50 800 700 600 500
You can replace df1.index
by np.arange(len(df1))
if your index is not a RangeIndex
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With