0
結果の値は文字列にする必要があります。しかし、データフレームの最大値を計算すると、結果がリストになります。pandasデータフレームの出力は、リストの代わりに文字列にする必要があります
import pandas as pd
def answer_one():
df_copy = [df['# Summer'].idxmax()]
return (df_copy)
df = pd.read_csv('olympics.csv', index_col=0, skiprows=1)
for col in df.columns:
if col[:2]=='01':
df.rename(columns={col:'Gold'+col[4:]}, inplace=True)
if col[:2]=='02':
df.rename(columns={col:'Silver'+col[4:]}, inplace=True)
if col[:2]=='03':
df.rename(columns={col:'Bronze'+col[4:]}, inplace=True)
if col[:1]=='№':
df.rename(columns={col:'#'+col[1:]}, inplace=True)
names_ids = df.index.str.split('\s\(')
df.index = names_ids.str[0] # the [0] element is the country name (new index)
df['ID'] = names_ids.str[1].str[:3] # the [1] element is the abbreviation or ID (take first 3 characters from that)
df = df.drop('Totals')
df.head()
answer_one()
ここで、answer_one()は出力としてListを返し、文字列ではありません。誰かが私がこれがどのように文字列に変換されたのか、あるいはデータフレームから直接文字列として答えを得る方法を知ってくれますか? str(df_copy)を使ってリストを文字列に変換したくない。
まあ、まず第、あなたは*リスト*でラップされています 'df_copy = [。] '#夏' [DF idxmax()] ' –