У меня есть документ Excel, который выглядит следующим образом ..
cluster load_date budget actual fixed_price
A 1/1/2014 1000 4000 Y
A 2/1/2014 12000 10000 Y
A 3/1/2014 36000 2000 Y
B 4/1/2014 15000 10000 N
B 4/1/2014 12000 11500 N
B 4/1/2014 90000 11000 N
C 7/1/2014 22000 18000 N
C 8/1/2014 30000 28960 N
C 9/1/2014 53000 51200 N
Я хочу иметь возможность возвращать содержимое столбца 1 - cluster в виде списка, чтобы я мог запустить цикл for и создать рабочую таблицу Excel для каждого кластера.
Возможно ли также вернуть содержимое всей строки в список? например
list = [], list[column1] or list[df.ix(row1)]
.tolist()
чтобы превратить их в список Python.values
больше не будет предпочтительным методом для доступа к базовым массивам. Смотрите этот ответ .df.to_numpy().tolist()
должно быть хорошо для большинства случаев использования.list(x)
Ответы:
Столбцы Pandas DataFrame - это серии Pandas, когда вы их извлекаете, и вы можете вызвать их,
x.tolist()
чтобы превратить их в список Python. В качестве альтернативы вы разыгрываете егоlist(x)
.Вывод:
источник
Это возвращает пустой массив:
Это возвращает пустой массив уникальных значений:
Вы также можете использовать numpy для получения уникальных значений, хотя между этими двумя методами есть различия:
источник
Пример преобразования:
Numpy Array -> Фрейм данных Panda -> Список из одной колонки Panda
Numpy Array
Конвертировать массив numpy в фрейм данных Panda
Конвертировать один кадр Panda в список
pdToList = list(dataPd['2'])
источник
df = pd.DataFrame(data=[[10, 20, 30], [20, 30, 60], [30, 60, 90]])
проще? Также обратите внимание на имя переменной и пробел, которые соответствуют соглашениям стиля Python. Итерация по списку в качестве доказательства Что это доказывает, точно? Это список?Поскольку этот вопрос привлек большое внимание и есть несколько способов выполнить вашу задачу, позвольте мне представить несколько вариантов.
Кстати, все это однострочники;)
Начиная с:
Обзор потенциальных операций:
код:
как указано в cs95, другие методы должны быть предпочтительнее, чем
.values
атрибут pandas из версии 0.24 для панд, см. здесь . Я использую его здесь, потому что большинство людей (к 2019 году) все еще имеют более старую версию, которая не поддерживает новые рекомендации. Вы можете проверить свою версию сprint(pd.__version__)
источник
Если в вашем столбце будет только одно значение, что-то вроде этого
pd.series.tolist()
вызовет ошибку. Чтобы гарантировать, что это будет работать во всех случаях, используйте код ниже:источник
Предполагая, что имя фрейма данных после прочтения таблицы Excel выглядит следующим образом
df
: возьмите пустой список (напримерdataList
), перебирайте фрейм данных по строкам и добавляйте к пустому списку, какИли,
Нет, если вы напечатаете
dataList
, вы получите каждую строку в виде списка вdataList
.источник
lower_case_with_underscores
стилю. Какое преимущество имеет это решение по сравнению с уже существующими? Кроме того, я действительно не рекомендую использовать доступ в стиле атрибутов в Series и DataFrames.источник