Вот мой маленький примерный фрейм данных:
import pandas as pd
import numpy as np
size = 10000
arr1 = np.tile([1/5000,1/12000,1/7000], (size,1))
df = pd.DataFrame(arr1, columns = ['col1','col2','col3'])
df[['col1','col2','col3']] = df[['col1', 'col2', 'col3']].astype(str)
Я хочу использовать метод строк панд для преобразования строк 'col1', ' col2' and 'col3'
в 10-десятичные разряды (так что '0.0002' becomes '0.0002000000'
, '8.333333333333333e-05' becomes '0.0000833333'
и '0.00014285714285714287' becomes '0.0001428571')
. Какой самый питонный способ добиться этого?
РЕДАКТИРОВАТЬ1:
Добавлен еще один столбец, чтобы лучше представить мою маленькую проблему
EDIT2: Я хочу упомянуть, что я знаю, что df.apply()
и df.applymap()
существуют, и они могут выполнить работу, но, учитывая также производительность, я ищу векторизованный способ достижения этого. Поэтому я предпочитаю строковые методы панд. Конечно, если никакие такие строковые методы не могут достичь моей цели, я с радостью приму верхний ответ.