- 在10到100之间的整个Pandas 数据帧中,我们如何将所有数值除以10?
条件:
- 要忽略的时间或任何非数字列.
- 数字可以位于任何行或列中.
time |
n1 | n2 | n3 | n4 |
---|---|---|---|---|
11:50 | 1 | 2 | 3 | 40 |
12:50 | 5 | 6 | 70 |
8 |
13:50 | 80 |
7 | 6 | 500 |
如果需要,请使用此代码:
import pandas as pd
import numpy as np
time = ['11:50', '12:50', '13:50']
data_1 = {'time': time,
'n1': [1, 5, 80],
'n2': [2, 6 ,7],
'n3': [3, 70 ,6],
'n4': [40, 8, 500],
}
df1 = pd.DataFrame(data = data_1)
df1
Try 1:它似乎不起作用
j = 0
k = 0
for i in df:
if df[j][k] > 10 and df[j][k] < 100:
df[j][k] = df[j][k] / 10
j = j + 1
else:
pass;
k = k + 1
Expected Result:
- 由于80、70、40是介于10和100之间的数字,因此在同一数据帧中,它们都被x/10所取代.
- 80-->;80/10 = 8
- 70-->;70/10 = 7
- 40-->;40/10 = 4
- 整个时间列将被忽略,因为它是非数值.