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

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

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

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

pandas

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

Q&A

解決済

2回答

8285閲覧

(python・pandas)データフレーム同士の足し算について

help-man

総合スコア58

Python

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

pandas

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

0グッド

0クリップ

投稿2021/11/19 09:50

タイトルのとおりです
とあるデータフレーム同士を足し算したいのですがNaNになってしまいます
どこが間違っておりますでしょうか?
勉強不足で大変申し訳ございません
何卒ご教授よろしくお願いいたします

python

1for result_df in df2: 2 df2 += df6 #df2にdf6を追加 3print(df2) #df2にリンゴとオレンジの点数を追加した結果 4""" 5 sum 6aaa 90.0 7bbb 148.0 8ccc 129.0 9ddd 107.0 10eee 112.0 11fff 146.0 12""" 13 14 15df7 = pd.DataFrame({'ブドウの種類': grape, 16 'スイカの種類': watermelon}, 17 index=meigara_name) 18 19df8 = df7.rank(ascending=False, method='max').astype(float) 20df8 = df8['ブドウの種類']+df8['スイカの種類'] 21df8= pd.DataFrame(df8) 22print(df8)#ここまではできました 23""" 24 0 25aaa 8.0 26bbb 7.0 27ccc 8.0 28ddd 7.0 29eee 4.0 30fff 8.0 31""" 32 33#足し算 34 35for result_df in df2: 36 df2 += df8 37df2 = df2.sort_values('sum', ascending=False) #降順に並び替え 38print(df2) #aaa+aaa,bbb+bbb...と各々を足し算をしたい 39""" 40 sum 41aaa NaN 42bbb NaN 43ccc NaN 44ddd NaN 45eee NaN 46fff NaN 47"""

やはりブドウとスイカのところをで0をsumにしないとデータフレーム同士の演算はできないのでしょうか?
何卒よろしくお願いします
ちなみにdf2とdf8のクラスはどちらも<class 'pandas.core.frame.DataFrame'>です

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

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

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

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

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

guest

回答2

0

ベストアンサー

python

1df2 += df8.values 2 3print(df2) 4 5# 6 sum 7aaa 98.0 8bbb 155.0 9ccc 137.0 10ddd 114.0 11eee 116.0 12fff 154.0

投稿2021/11/19 11:32

編集2021/11/19 11:46
melian

総合スコア20655

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

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

help-man

2021/11/19 12:33

コメントありがとうございました .valuesで解決できるとは恥ずかしながら思いつかなかったです ご教授ありがとうございました
guest

0

python

1df8= pd.DataFrame(df8)

のあとに一行付け加えて、以下のようにしてみてください。

python

1df8= pd.DataFrame(df8) 2df8.columns = ['sum']

投稿2021/11/19 10:04

ppaul

総合スコア24670

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問