Исправлена проблема в моем случае:
Щелкните правой кнопкой мыши по проекту / классу, который вы хотите запустить, затем Run As
-> Run Configurations
. Затем вы должны либо исправить существующую конфигурацию, либо добавить новое следующим образом:
откройте вкладку Classpath
, нажмите кнопку Advanced...
, затем добавьте папку bin
вашего проекта.
Ваши данные, вероятно, object
dtype. Это прямая копия / вставка ваших данных. read_csv
интерпретирует его как правильный тип. Обычно вы должны иметь только object
dtype в строковых полях.
In [5]: df = read_csv(StringIO(data),sep='\s+')
In [6]: df
Out[6]:
id value
id 1.00 -0.422000
value -0.42 1.000000
percent -0.72 0.100000
played 0.03 -0.043500
money -0.22 0.337000
other NaN NaN
sy -0.03 0.000219
sz -0.33 0.383000
проверить, являются ли ваши типы dtypes object
In [7]: df.dtypes
Out[7]:
id float64
value float64
dtype: object
Это преобразует этот кадр в object
dtype (обратите внимание, что сейчас смешно)
In [8]: df.astype(object)
Out[8]:
id value
id 1 -0.422
value -0.42 1
percent -0.72 0.1
played 0.03 -0.0435
money -0.22 0.337
other NaN NaN
sy -0.03 0.000219
sz -0.33 0.383
Вот как это сделать (astype(float)
) также работает здесь
In [9]: df.astype(object).convert_objects()
Out[9]:
id value
id 1.00 -0.422000
value -0.42 1.000000
percent -0.72 0.100000
played 0.03 -0.043500
money -0.22 0.337000
other NaN NaN
sy -0.03 0.000219
sz -0.33 0.383000
Это то, что object
dtype будет выглядеть как
In [10]: df.astype(object).dtypes
Out[10]:
id object
value object
dtype: object
df["column"]).describe().apply(lambda x: format(x, 'f'))
Поскольку функция описывает возврат кадра данных, то, что делает вышеуказанная функция, оно просто форматирует каждую строку в обычный формат. Я написал этот ответ, потому что у меня было, хотя в моем сознании, было бессмысленно получать счет 95 как 95.00000e + 01. Также в нашем обычном формате его легче сравнивать.
Перед применением указанной функции мы получали
count 9.500000e+01
mean 5.621943e+05
std 2.716369e+06
min 4.770000e+02
25% 2.118160e+05
50% 2.599960e+05
75% 3.121170e+05
max 2.670423e+07
Name: salary, dtype: float64
. После применения мы получаем
count 95.000000
mean 562194.294737
std 2716369.154553
min 477.000000
25% 211816.000000
50% 259996.000000
75% 312117.000000
max 26704229.000000
Name: salary, dtype: object
, если это помогло:)
Тот же ответ изначально был опубликован в Ответ на столбец здесь
быстрый временной: df.round(4)
глобальный: pd.options.display.float_format = '{:20,.2f}'.format
Если вы хотите использовать значения в виде форматированной строки в списке, например, как часть csvfile csv.writier, числа могут быть сформированы перед созданием списка:
df['label'].apply(lambda x: '%.17f' % x).values.tolist()