[Навыки разработки] · Как pandas сохраняет пустые элементы

искусственный интеллект Python

[Навыки разработки] · Как pandas сохраняет пустые элементы

1. Описание проблемы

Проблема, возникшая в процессе разработки, заключается в том, что numpy нужно сохранять как элемент pandas, а не как столбец элементов. Однако процесс практики не был гладким, и сообщалось об ошибках.Теперь я решил эту проблему и поделился своим опытом и пониманием, надеясь помочь будущим поколениям.

 

2. Практика развития

1. Создайте несколько фиктивных данных для сохранения

import pandas as pd
import numpy as np

l1 = [1,2,3,4]
l2 = [.1,.2,.3,.4]

lists = np.array([l1,l2])
labels = [1,0]

2. Создайте новый DataFrame для сохранения и отображения

df = pd.DataFrame()
df["list"] = lists
df["label"] = labels

print(df)

В это время программа сообщает об ошибке:

    raise Exception('Data must be 1-dimensional')
Exception: Data must be 1-dimensional

Ошибка появляется вdf["список"] = списки,Причина ошибки в том, что списки не являются одномерными данными (Данные должны быть одномерными), почему возникает эта проблема?

Причина в том,lists = np.array([l1,l2]), списки становятся двумерными np.array формы (2, 4).

Как это решить? Нужно преобразовать np.array в список, он становится одномерным.

3. Исправьте код

import pandas as pd
import numpy as np

l1 = [1,2,3,4]
l2 = [.1,.2,.3,.4]

lists = np.array([l1,l2])
lists = list(lists)
labels = [1,0]

df = pd.DataFrame()
df["list"] = lists
df["label"] = labels

print(df)

Выходной результат:

                   list  label
0  [1.0, 2.0, 3.0, 4.0]      1
1  [0.1, 0.2, 0.3, 0.4]      0

Некоторым друзьям может показаться, что код немного сложен.Зачем использовать np.array([l1,l2]) для преобразования в np.array, а затем использовать list(lists) для преобразования в список, на самом деле это имитирует реальный сценарии использования. Как правило, данные, с которыми мы соприкасаемся, - это np.array, а затем сохраняем их как pandas, они сообщают об ошибке (данные должны быть 1-мерными), решение состоит в том, чтобы преобразовать их в список.

В чем разница между numpy.array и списком? Я объясню это лучше в блоге позже.