あなたはint
に変換し、100
除算を必要と100
によって最後の倍数:
df['new_values'] = (df['old_values']/100).astype(int) *100
と同じ
:
df['new_values'] = (df['old_values']/100).apply(np.floor).astype(int) *100
サンプル:
df = pd.DataFrame({'old_values':[8450, 8470, 343, 573, 34543, 23999]})
df['new_values'] = (df['old_values']/100).astype(int) *100
print (df)
old_values new_values
0 8450 8400
1 8470 8400
2 343 300
3 573 500
4 34543 34500
5 23999 23900
EDIT:
df = pd.DataFrame({'old_values':[3, 6, 89, 573, 34, 23]})
#show output of first divide for verifying output
df['new_values1'] = (10000/df['old_values'])
df['new_values'] = (10000/df['old_values']).div(100).astype(int).mul(100)
print (df)
old_values new_values1 new_values
0 3 3333.333333 3300
1 6 1666.666667 1600
2 89 112.359551 100
3 573 17.452007 0
4 34 294.117647 200
5 23 434.782609 400
が提供するソリューションへの非常に類似し@jezraelこんにちは、返信に感謝!もともと、私の 'new_values'は' 10,000/df ['old_values'] 'で計算されます。私はそれを回す場合は、私の計算は間違っています。メソッドを切り捨てる前に、まず計算を行う必要があるということですか? –
私はちょっと混乱していますが、 '(10000/df ['old_values'])'の代わりに '(df ['old_values']/10000)と思っていますか? – jezrael
はい、私の 'new_values'は' 10000/df ['old_values'] 'の計算によって得られます。 'df ['old_values']/10000'を実行すると、結果は間違いなく変わります。 '2/3'と' 3/2'との違いと同様です。私の説明が理にかなってほしいのですか? –