web-dev-qa-db-ja.com

パンダ:NDFrameオブジェクトとは(および非NDFrameオブジェクトとは)

2つのDataFrameを連結しようとしていますが、'TypeError: cannot concatenate a non-NDFrame object'エラー。私は周りを見回していましたが、ほとんどの場合、彼らがコードが実際に行うこと以外のことをしようとすると、このエラーを受け取る人がたくさんいます(したがって、答えは彼らの特定の無関係な質問を解決します)

私の質問は、特定の問題を解決することではなく、エラーを理解することです...非NDFrameオブジェクトとは何ですか?なぜ連結できないのですか?

また、なぜNDFramesについてですか(それらは何で、どこで使用しますか?すべてのDataFrames NDFramesですか?DataFramesではないNDFramesがありますか?)...

'TypeError: cannot concatenate a non-DataFrame object'(それらがDataFramesでないことが私のエラーの原因であったかどうかはわかりませんが)これは主に私の好奇心の探求であり、特定のバグをハントしようとはしていません...

13
ntg

馬の口から:

DataFrameのN次元アナログ。サイズ変更可能なラベル付きデータ構造に多次元を保存する

それではDataFrameとは?

クラスDataFrame(NDFrame):ラベル付けされた軸(行と列)を持つ、2次元のサイズ変更可能な、潜在的に異種の表形式データ構造。算術演算は、行ラベルと列ラベルの両方で整列します。 Seriesオブジェクトのdictのようなコンテナと考えることができます。

ご覧のとおり、DataFrameはNDFrameのサブクラス(つまり、特殊なケース)です。 Pandasプログラムでは一般に、DataFrameは頻繁に使用され、NDFrameはめったに使用されません。実際には、Pandasパンダの名前の半分はPanelに対応していますが、これは終わりです。 パンダにもあります ですが、ほとんどの人は使用していません。

パンダには4Dのものさえありますが、実際には誰も使用していません(これはインターネットであるため、誰かがそうするように見えるようになりました!)。 2次元または3次元よりも高い次元の場合、一部の人々は努力を xarray にシフトしました。あなたの野心を2Dに含めることができない場合は、おそらくそこにあります。

16
John Zwinck