使用R

时间:2018-05-07 01:46:22

标签: r output line

我有一个如下的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 :(得分:0)

DataFrameto_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

答案 1 :(得分:0)

我们可以在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
 ))