#python #pandas
#питон #панды
Вопрос:
У меня есть следующий фрейм данных
0 1 2 3
A b a p l
C c p g None
T g t x None
Прямо сейчас я печатаю его следующим образом
for i in range(len(df.columns)): print((df[i]).to_string(index=False))
Вывод:
b
c
g
a
p
t
p
g
x
l
None
None
Есть ли способ напечатать его вот так?
bcgaptpgxl
Комментарии:
1. Можете ли вы включить код для инициализации фрейма данных? Это поможет будущим читателям, если они смогут просто скопировать / вставить ваш код для запуска.
Ответ №1:
Предполагая, что None
это на самом деле NaN
:
>>> ''.join(df.melt()['value'].dropna().tolist())
'bcgaptpgxl'
Комментарии:
1.Отличный ответ. Мог бы добавить
''.join([v for v in df.melt()["value"].tolist() if v is not None])
, еслиNone
естьNone
. (илиif v != "None"
) если это буквально строка «None».2. Или
''.join([str(v) for v in df.melt()["value"] if pd.notnull(v) and v != 'None'])