Расположите значения столбцов в одну строку, используя R - PullRequest
0 голосов
/ 07 мая 2018

У меня есть df, как показано ниже.

df:

Year   max_T  min_T   Prcp 
1990   25.00  2.50    525.25 
1991   30.00  1.50   1001.25
.
.
2010   22.25  5.25   1025.25

Мне нужно получить или преобразовать приведенную выше таблицу данных в следующий вывод.

output:

1990 25.00 2.50 525.25, 1991 30.00  1.50  1001.25,..., 2010 22.25  5.25  1025.25

Мне нужно, чтобы вывод выводился в одной строке (ПРИМЕЧАНИЕ. Годы должны разделяться запятыми, а значения - табуляторами).Мне не нужны имена столбцов в выводе.

Любая помощь приветствуется.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Мы можем использовать paste в R

toString(do.call(paste, df))

или одним звонком

do.call(paste, c(df, list(collapse=", ")))
#[1] "1990 25 2.5 525.25, 1991 30 1.5 1001.25"

данные

df <- structure(list(Year = 1990:1991, max_T = c(25, 30), min_T = c(2.5, 
 1.5), Prcp = c(525.25, 1001.25)), .Names = c("Year", "max_T", 
 "min_T", "Prcp"), class = "data.frame", row.names = c(NA, -2L
 ))
0 голосов
/ 07 мая 2018

DataFrame имеет to_string иметь дело с этим.

import re
import pandas as pds

reg = re.compile(r'[ ]+')

df = pds.DataFrame([[1990, 25, 2.50, 525.25], [1991, 30.00, 1.50, 1001.25]])
rows = df.to_string(header=False, index=False, index_names=False).split('\n')
print(rows)
rows = [reg.sub('\t', r) for r in rows]
s = ', '.join(rows)

print(s)

# 1990  25.0    2.5 525.25, 1991    30.0    1.5 1001.25
...