Преобразование типа float64 типа DataFrame для плавания в Python - PullRequest
0 голосов
/ 20 октября 2018

Я создал мультииндексированный DataFrame, в котором я использовал groupby со средним значением.

При проверке типа данных любого конкретного значения

(используя ChkVlu = df.loc['Index1'].loc['index2'].loc['requiredcolumn'])

Я получаю тип данных numpy.float64.Мне требуется тип данных для нативного Python с плавающей точкой.

Если я использую ChkVlu = float(ChkVlu), тогда только одно значение за раз преобразуется из float64 в float, однако при использовании df = df.astype(float) для всего DataFrame я все еще получаю тип данныхбыть numpy.float64.

Я использовал df = df.astype(float, copy=False), а также df = df.astype(float, copy=True), но все еще получаю float64 вместо числа с плавающей точкой.

Пожалуйста, помогите мне преобразовать тип данных DataFrame float64 в число с плавающей точкой.

Edit1: размещение кода здесь, где AnnualData.csv имеет индекс 1 и index2 как первые 2 столбца и комбинацию года и месяца как следующий набор столбцов в формате 2001-01, 2001-02, 2001-03 .....2016-09, 2016-10, 2016-11 с числовыми данными в каждой строке.Я конвертирую данные в кварталы с именами столбцов q1, q2 и т. Д. Со средним значением каждого квартала.

 df = pd.read_csv(‘AnnualData.csv')
 df.set_index(['index1, 'index2'],inplace = True)
 def quarters(col):
  if col.endswith(("01", "02", "03")):
   final_col = col[:4] + "q1"
  elif col.endswith(("04", "05", "06")):
   final_col = col[:4] + "q2"
  elif col.endswith(("07", "08", "09")):
   final_col = col[:4] + "q3"
  else:
   final_col = col[:4] + "q4"
  return final_col  
df = df.groupby(quarters, axis = 1).mean()
ChkVlu = df.loc['index1'].loc['index2'].loc['requiredcolumn']
type(ChkVlu)

1 Ответ

0 голосов
/ 20 октября 2018

Вы можете использовать to_numeric, который даст вам float32

или np.float32 (x)

, тогда x.item () даст вам python float

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...