Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 新しい列の追加 | 最初の一歩
Pandas入門

book新しい列の追加

メニューを表示するにはスワイプしてください

DataFrame の作成方法を学習済み。次に、その活用方法について確認。

まず、37 行のコンパクトな DataFrame を作成。

1234567
import pandas as pd countries_data = {'country' : ['Thailand', 'Philippines', 'Monaco', 'Malta', 'Sweden', 'Paraguay', 'Latvia'], 'continent' : ['Asia', 'Asia', 'Europe', 'Europe', 'Europe', 'South America', 'Europe'], 'capital':['Bangkok', 'Manila', 'Monaco', 'Valletta', 'Stockholm', 'Asuncion', 'Riga']} countries = pd.DataFrame(countries_data) print(countries)
copy

次の構文を使用して、新しい列を追加することで DataFrame を拡張可能。

dataframe['name_of_new_column'] = [value_1, value_2, value_3]
  • dataframe は列を追加する既存の DataFrame
  • name_of_new_column は新しい列の名前;
  • value_1, value_2, value_3 は新しい列に格納される値。
Note
注意

新しい列名は引用符で囲み、角括弧で囲む必要があり、例:['NewColumnName']。新しい列に割り当てる値も角括弧で囲む。例:data['NewColumnName'] = [value1, value2, value3]。値が数値の場合は引用符なしで [1, 2, 3] のように記述可能。値が文字列の場合は、それぞれ引用符で囲み、['A', 'B', 'C'] のように記述。

次に、既存の 'population' DataFrame に countries 列を追加。

12345678
import pandas as pd countries_data = {'country' : ['Thailand', 'Philippines', 'Monaco', 'Malta', 'Sweden', 'Paraguay', 'Latvia'], 'continent' : ['Asia', 'Asia', 'Europe', 'Europe', 'Europe', 'South America', 'Europe'], 'capital':['Bangkok', 'Manila', 'Monaco', 'Valletta', 'Stockholm', 'Asuncion', 'Riga']} countries = pd.DataFrame(countries_data) countries['population'] = [61399000, 75967000, 39244, 380200, 10380491, 5496000, 2424200] print(countries)
copy

ドット記法(例:df.column)は既存の列へのアクセスには使用できますが、新しい列の作成には使用できません。この目的には必ず角括弧記法(例:df['column'])を使用してください。

12345678
import pandas as pd countries_data = {'country' : ['Thailand', 'Philippines', 'Monaco', 'Malta', 'Sweden', 'Paraguay', 'Latvia'], 'continent' : ['Asia', 'Asia', 'Europe', 'Europe', 'Europe', 'South America', 'Europe'], 'capital':['Bangkok', 'Manila', 'Monaco', 'Valletta', 'Stockholm', 'Asuncion', 'Riga']} countries = pd.DataFrame(countries_data) countries.population = [61399000, 75967000, 39244, 380200, 10380491, 5496000, 2424200] print(countries)
copy

予想通り、'population' 列は作成されませんでした。これは、Pandas ではこの方法で列を作成することが許可されていないためです。

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  7

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  7
some-alt