Я новичок в Python, и поэтому у меня возникают проблемы с преобразованием строки в DataFrame
в плоскую list
. Для этого я использую следующий код:
Игрушка DataFrame
:
import pandas as pd
d = {
"a": [1, 2, 3, 4, 5],
"b": [9, 8, 7, 6, 5],
"n": ["a", "b", "c", "d", "e"]
}
df = pd.DataFrame(d)
Мой код:
df_note = df.loc[df.n == "d", ["a", "b"]].values #convert to array
df_note = df_note.tolist() #convert to nested list
df_note = reduce(lambda x, y: x + y, df_note) #convert to flat list
Мне этот код кажется одновременно грубым и неэффективным. Тот факт, что я конвертирую в array
перед list
, является причиной проблемы, т.е. list
должен быть вложенным. Несмотря на это, я не могу найти средства преобразования строки непосредственно в список. Любой совет?
Этот вопрос не является обманом этого. В моем случае я хочу, чтобы список был плоским.
df.loc[index, :].values.flatten().tolist()
, гдеindex
— это индекс строки кадра данных pandas, которую вы хотите преобразовать. 25.06.2021