Панды - набор данных содержит длинный список строк. как я могу добавить запятую для разделения каждой строки?

Я нашел несколько довольно больших наборов данных, используя код:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("UNdata_Export_20180411_041346297_GDPgrowth.csv")
df = df.set_index(["Country or Area"])
Chosen_Country="Australia"
df2 = df.loc[Chosen_Country, ["Year", "Value"]]
df3 = df2.loc[Chosen_Country, "Year"]
print(df3.values)

df4 = df2.loc[Chosen_Country, "Value"]
print(df4.values)

Важным выводом является df3, поскольку он производит:

['2015' '2014' '2013' '2012' '2011' '2010' '2009' '2008' '2007' '2006'
 '2005' '2004' '2003' '2002' '2001' '2000' '1999' '1998' '1997' '1996'
 '1995' '1994' '1993' '1992' '1991' '1990' '1989' '1988' '1987' '1986'
 '1985' '1984' '1983' '1982' '1981' '1980' '1979' '1978' '1977' '1976'
 '1975' '1974' '1973' '1972' '1971' '1970' '1969' '1968' '1967' '1966'
 '1965' '1964' '1963' '1962' '1961']

Другой результат, df4, таков:

[ 2.25782511  2.49985122  2.44004906  3.6327203   2.37956134  2.01818214
  1.81967826  3.70669951  3.75765786  2.98287029  3.2066423   4.14937434
  3.07079872  3.85668672  1.9293868   3.86865768  5.00709635  4.43824343
  3.9473418   3.94914072  3.87904044  4.03794657  4.06013477  0.39900703
 -0.37988339  3.52913488  3.87870001  5.76903818  2.57449271  4.1015279
  5.24948051  4.62713324 -2.23060017  3.32129592  3.35814322  3.05139105
  4.05284419  0.89697494  3.60727832  2.58966329  1.33824894  4.09686079
  2.59864244  3.91086113  4.00915278  7.16689152  7.04971187  5.0928213
  6.29705551  2.36519306  5.9800197   6.97615507  6.21244439  1.32757524
  2.47592903]

Я могу преобразовать df4 в строки и легко разделить его запятыми, но для df3 я не могу, потому что они уже являются строками.

Вопрос: Как я могу преобразовать каждый год в df3 в строку, также разделенную запятой? (Пример '2015', '2014', '2013', '2012', etc...)

Я проверил Python API и не нашел похожего вопроса.

1
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны сделать это вручную, например:

print(', '.join(["'{}'".format(x) for x in df3.values]))

"'{}'".format(x) гарантирует, что ваше значение заключено в кавычки, а ', '.join(...) объединяет все значения через запятую.

Привет, Гайбраш, это отличное объяснение, и оно имеет смысл. Большое спасибо за это. (Он тоже отлично работает.)

KuroGane 11.04.2018 11:53

Конечно, я просто жду минут 15 или около того, прежде чем мне позволят!

KuroGane 11.04.2018 11:58

Другие вопросы по теме