Как разбить строку и присвоить имя столбца для фрейма данных pandas?

У меня есть a ; d ; c ; d ; e ; r ; w ; e ; o -------------------- 0 h ; j ; r ; d ; w ; f ; г ; t ; r 1 a ; f ; c ; x ; d ; e ; r ; t ; y 2 b ; ч ; г ; t ; t ; t ; y ; u ; f 3 г ; t ; u ; n ; b ; v ; d ; с ; e, который имеет один столбец:

  0  1  2  3  4  5  6  7  8
------------------------------
0 h  j  r  d  w  f  g  t  r
1 a  f  c  x  d  e  r  t  y
2 b  h  g  t  t  t  y  u  f
3 g  t  u  n  b  v  d  s  e

Когда я разбиваю его, я получаю следующее:

a d c d e r w e o

Мне нужно назначить 0 1 2 3 4 5 6 7 8вместо имен столбцов.df = dataframe df = df.iloc[:,0].str.split(';') res = pd.DataFrame(df.columns.tolist()) res = pd.DataFrame(df.values.tolist())

Я пытался :

DataFrame

Я получаю значения, назначенные каждому столбцу. Но не заголовки столбцов. Что делать?

python,pandas,dataframe,series,

1

Ответов: 1


2 принят

Я думаю , что нужно создать новый с DataFrameпомощью expand=Trueпараметра , а затем присвоить новые имена столбцов:

res = df.iloc[:,0].str.split(';', expand=True)
res.columns = df.columns[0].split(';')
print (res)
   a  d  c  d  e  r  w  e  o
0  h  j  r  d  w  f  g  t  r
1  a  f  c  x  d  e  r  t  y
2  b  h  g  t  t  t  y  u  f
3  g  t  u  n  b  v  d  s  e

Но , возможно , потребуется sep=';'в read_csvслучае , если данные только один столбец:

res = pd.read_csv(file, sep=';')
питон, панды, dataframe, серия,
Похожие вопросы