我有一个如下的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
我需要在一行中输出一个(注意:年份应该用逗号分隔,值应该用制表符分隔)。我不需要输出中的列名。
感谢任何帮助。
感谢。
答案 0 :(得分:0)
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
答案 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
))