Member 8840306 Ответов: 0

Как преобразовать простой список Python в данные (возвращаемые из pd.read_csv с помощью итератора и chunksize)


Я новичок в python. Я получаю два списка python 'ad' и 'ttf' в следующем коде

код 1:

train_df = pd.read_csv('train.csv', dtype={'acoustic_data': np.int16, 'time_to_failure': np.float32})
  ad = pd.DataFrame()
  ttf = pd.Series()
  
 
  failure_idxs = [5656574,  50085878, 104677356, 138772453, 187641820, 218652630,
                    245829585, 307838917, 338276287, 375377848, 419368880, 461811623,
                    495800225, 528777115, 585568144, 621985673]

        
  for idx in failure_idxs:
      ad = train_df['acoustic_data'].values[idx - 150000: idx + 30000]
      ttf = train_df['time_to_failure'].values[idx - 150000: idx + 30000]
      print("ad=",ad)    #python list
      print("ttf=",ttf)   #python list
      break


Выход 1:

Он печатает это

  ad= [1 4 9 ... 8 6 5]
ttf= [ 0.03909828  0.03909828  0.03909827 ... 11.5332985  11.5332985
 11.5332985 ]


Вот данные, генерируемые 'pd.read_csv' с помощью 'iterator' и 'chunksize'
Код 2:
train1 = pd.read_csv('train.csv', iterator=True, chunksize=150000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})
      X_train = pd.DataFrame()
      y_train = pd.Series()
      for df in train1:
          print("acoustic_data=",df['acoustic_data'])     #data printed
          print("time_to_failure=",pd.Series(df['time_to_failure'].values[-1]))   #data printed
          ch = gen_features(df['acoustic_data'])
          break


Выход 2: Данные, напечатанные на ДР.read_csv' с помощью 'Iterator' и 'chunksize', как это

acoustic_data= 0         12
1          6
2          8
3          5
4          8
          ..
149995     1
149996     6
149997     6
149998     2
149999     0
Name: acoustic_data, Length: 150000, dtype: int16
time_to_failure= 0         1.469100
1         1.469100
2         1.469100
3         1.469100
4         1.469100
  
149995    1.430797
149996    1.430797
149997    1.430797
149998    1.430797
149999    1.430797
Name: time_to_failure, Length: 150000, dtype: float64


Моя функция "ch = gen_features(df['acoustic_data'])" принимает входные данные, генерируемые 'pd.read_csv' с помощью 'iterator' и 'chunksize'.Как я могу преобразовать два простых списка Python 'объявление' и 'ТСТ' в данных, полученных от ПД.read_csv', которые используют 'Iterator' и 'chunksize'?

Я просто имею в виду, как программно конвертировать выход 1 просто нравиться выход 2 используя код 1?

выход 2 имеет индексный номер вместе с печатаемыми значениями, разделенными табуляцией...пока выход 1 это всего лишь список ценностей ...Как я могу программно преобразовать вывод 1 в формат вывода 2?

Вы можете скачать пример кода с сайта эта ссылка и запускайте с помощью python ide, таких как spyder pychar и т. д.

Что я уже пробовал:

Списки Python  |  Обучение Python |  Разработчики Google[^]

Richard MacCutchan

По умолчанию список печатается в том формате, в котором он отображается в коде. Если вы хотите, чтобы он был напечатан в определенной форме, то вам нужно перебрать элементы и распечатать каждый отдельный элемент в требуемом формате.

0 Ответов