質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

386閲覧

pandas dfにおける行方向データの連結の仕方

chgrios

総合スコア70

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/01/24 10:24

下のようなデータフレームがあったとして、このデータフレームに、食品ページごとに取得した拡張データを連結していきたいです。

names, id かぼちゃ,10604 キャベツ,10606 グリーンボール,10606 枝豆,10601

例えば[100,200,300,400,True]でそれぞれ['カロリー', 'タンパク質', '脂質', '塩分', '太りやすいか']です
まだカラム名を作成していないのですが、これを上のようなデータフレームに連結するにはどうしたいいですか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/01/24 10:26

> これを上のようなデータフレームに連結するにはどうしたいいですか。 連結後のデータフレームのイメージがよく分かりません。 また、コードを掲載されないと回答が難しいかと思います。
guest

回答1

0

どうにもイメージが曖昧だけど、こんな感じかな。

Python

1import pandas as pd 2import io 3 4txt = """ 5names,id 6かぼちゃ,10604 7キャベツ,10606 8グリーンボール,10606 9枝豆,10601 10""" 11 12# 画面出力時の日本語の桁揃え 13pd.set_option('display.unicode.east_asian_width', True) 14 15# namesとidのデータフレーム生成 16df = pd.read_csv(io.StringIO(txt)) 17print(df, end="\n\n") 18 19# 新たに追加する列名 20new_columns = ['カロリー', 'タンパク質', '脂質', '塩分', '太りやすいか'] 21 22# 最初のデータフレームを基にして、追加する列名も含めたデータフレームを生成 23df = pd.DataFrame(df, columns=df.columns.values.tolist() + new_columns) 24print(df, end="\n\n") 25 26# 拡張データを用意 27dat = [100, 200, 300, 400, True] 28 29# idを指定して拡張データをデータフレームに設定 30df.loc[df['id'] == 10604, 'カロリー': '太りやすいか'] = dat 31print(df)

results

1 names id 20 かぼちゃ 10604 31 キャベツ 10606 42 グリーンボール 10606 53 枝豆 10601 6 7 names id カロリー タンパク質 脂質 塩分 太りやすいか 80 かぼちゃ 10604 NaN NaN NaN NaN NaN 91 キャベツ 10606 NaN NaN NaN NaN NaN 102 グリーンボール 10606 NaN NaN NaN NaN NaN 113 枝豆 10601 NaN NaN NaN NaN NaN 12 13 names id カロリー タンパク質 脂質 塩分 太りやすいか 140 かぼちゃ 10604 100.0 200.0 300.0 400.0 True 151 キャベツ 10606 NaN NaN NaN NaN NaN 162 グリーンボール 10606 NaN NaN NaN NaN NaN 173 枝豆 10601 NaN NaN NaN NaN NaN

投稿2021/01/24 11:44

編集2021/01/24 11:45
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問