問題タブ [pandas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
8288 参照

python - MultiIndexから特定のレベルのデータを選択します

MultiIndex(Z、A)を使用した次のPandasデータフレームがあります。

Question: How can I select all items with A=203? I tried df[:,'A'] but it doesn't work. Then I found this in the online documentation so I tried:
df.xs(203,level='A')
but I get:
"TypeError: xs() got an unexpected keyword argument 'level'"
Also I dont see this parameter in the installed doc(df.xs?):
"Parameters ---------- key : object Some label contained in the index, or partially in a MultiIndex axis : int, default 0 Axis to retrieve cross-section on copy : boolean, default True Whether to make a copy of the data"
Note:I have the development version.

Edit: I found this thread. They recommend something like:

I still would like to know what happened with df.xs with the level parameter or what is the recommended way in the current version.

0 投票する
1 に答える
27271 参照

python - custom matplotlib plot : 色付きのセルを持つチェス盤のようなテーブル

Python とこの興味深いプロット ライブラリの両方を学んでいるので、matplotlib でプロットをレンダリングし始めています。取り組んでいる問題のカスタム プロットについて助けが必要です。このための組み込み関数が既に存在する可能性があります。

問題: テーブル (長方形) を 96 個のセル (8 行 X 12 列) のプロットとして描画しようとしています。各代替セルを特定の色 (チェス盤のように: 黒/白の代わりに他の色の組み合わせを使用します) で色付けし、pandas データ フレームまたは python 辞書から各セルに値を挿入します。列と行のラベルを横に表示します。

サンプルデータ: http://pastebin.com/N4A7gWuH

numpy/pandas ds のセルの値を置き換えて、プロットを次のようにしたいと思います。

サンプル プロット: http://picpaste.com/sample-E0DZaoXk.png

ご意見をお待ちしております。

PS: mathplotlib のメーリング リストに同じものを投稿しました

0 投票する
1 に答える
1563 参照

python - pandas DataFrame から最後の有効な (null 以外の) 値を返す

dataframe次のような外観があるとします。

「b」でグループを作成できます。各グループの 'a' の最後の非 NA 値をすばやく取得する方法はありますか? この場合、グループ A では 3、グループ B では -9 になります。

(この場合、系列「a」は指定どおりにソートされますが、そうでない場合もあります。別の列「c」が存在する可能性があり、それに応じて「最後」が定義されます。)

grouped.groups dict を調べて、独自のループ コードを作成しました。しかし、私の巨大なデータセットを考えると、どうやらそれは非常に非効率的です。これは非常に簡単に実行できると思います-おそらく私はパンダの初心者です:-)

0 投票する
13 に答える
358642 参照

python - pandasDataFrameで列の値が最大になる行を検索します

特定の列の値が最大になる行を見つけるにはどうすればよいですか?

df.max()各列の最大値が表示されますが、対応する行を取得する方法がわかりません。

0 投票する
1 に答える
3458 参照

python - pip install numpy pandas は失敗しますか?

Pandas は numpy に依存しており、pandas の 依存関係をインストールするための未解決のビルドの問題があります。とにかく、以下の例で pip が numpy で終了する理由はありますか? 要件ファイルを使用している場合にも発生します。

次に、派手なセットアップの途中で、パンダのセットアップがトリガーされます。

....そしてnumpyをテストするとき

0 投票する
1 に答える
2546 参照

python - pandas 集計データを numpy 配列に: データ構造変換

pandas データ フレームを使用してデータを集計しました。以下は、表示されている実際のデータと、それをどのように集計したかです。

fdf.groupby(['row',col'])['percent'].sum()

http://pastebin.com/R8XWpgtU

私がやりたいのは、これの 2 次元の numpy 配列を作成することです (行 = 行、列 = 列)。これを行うための巧妙な方法はありますか?

私が同様のことをした別の方法は、ピボットテーブルを作成することでした

pivot_table(fdf,values='percent',rows='row',cols='col', aggfunc=np.sum)

この場合、このピボット テーブルを 2D numpy 配列に変換します。このテーブルの各セルにインデックスを付ける方法はありますか? もしそうなら、私はおそらくテーブル自体で大丈夫でしょう.

0 投票する
3 に答える
2915 参照

python - numpyを使用してcsvファイルを読み取る際の主要なメモリの問題

Kaggle から KDD track1 データセットを取得し、16 GB のハイメモリ EC2 インスタンスで、最大 2.5 GB の 3 列の CSV ファイルをメモリにロードすることにしました。

Python セッションがすべてのメモリ (100%) を使い果たし、その後強制終了されました。

次に、R を使用して (read.table 経由で) 同じファイルを読み取り、5 GB 未満の RAM を使用しましたが、ガベージ コレクターを呼び出した後、2 GB 未満に縮小しました。

私の質問は、これが numpy で失敗した理由と、ファイルをメモリに読み込む適切な方法です。はい、ジェネレーターを使用して問題を回避できますが、それが目標ではありません。

0 投票する
10 に答える
855120 参照

python - PandasGroupBy出力をSeriesからDataFrameに変換する

私はこのような入力データから始めています

印刷すると次のように表示されます。

グループ化は非常に簡単です。

印刷するとGroupByオブジェクトが生成されます。

しかし、最終的に必要なのは、GroupByオブジェクトのすべての行を含む別のDataFrameオブジェクトです。言い換えれば、私は次の結果を得たいと思います:

パンダのドキュメントでは、これを実現する方法がよくわかりません。ヒントは大歓迎です。

0 投票する
2 に答える
29228 参照

python - インストールされたPythonモジュール-Pythonはそれらを見つけることができません

これは、インストールの初心者向けのpython質問です。パッケージをインストールして呼び出すのはこれが初めてです。pipインストールしました。2つのモジュールをインストールしようとしました-numpypandas

ターミナルで、次のコマンドを実行しました。

両方のコマンドが成功メッセージとともに返されました。これがpandas成功メッセージです(これは私がインストールした2番目のパッケージであり、まだ端末の履歴に残っていました):

pipnumpyインストール 後に同様のメッセージを返しました。

今、私が起動pythonしてそれを呼び出しようとすると:

このエラーメッセージが表示されます:

私が試したときも同じnumpyです。

誰かが私が間違っていることを教えてもらえますか?

0 投票する
2 に答える
150 参照

python - ループ内にメソッドを動的に追加する場合のスコープの落とし穴

運動データを分析するためのAPIがあります(これは、ランニングキーパーのWebサイトをスクレイプしています)。

私のメインクラスは、pandas.DataFrame基本的に表形式データのコンテナであるのサブクラスです。列名によるインデックス付けをサポートし、列値の配列を返します。

データに存在する「フィットネス活動」のタイプに基づいて、いくつかの便利なプロパティを追加したいと思います。たとえば、プロパティ'running'を追加したいと思います。

DataFrameこれは、「type」列に「running」があるのすべての行を返します。

データに存在するすべてのタイプに対してこれを動的に実行しようとしました。これが私が素朴にしたことです:

その結果、これらのプロパティはすべて、同じタイプのアクティビティ(「ウォーキング」)のデータのテーブルを返すことになりました。

何が起こっているのかというと、プロパティにアクセスするとラムダが呼び出され、定義されたスコープで「type」という名前が検索されます。それがforループの最後の反復だったので、彼らはそれが文字列'walking'にバインドされていることを発見しました。forループの各反復には独自の名前空間がないため、すべてのラムダは、実際に定義されたときに「type」が持っていた値ではなく、最後の反復のみを参照します。

誰かがこれを回避する方法はありますか?私は2つ考えることができますが、それらは特に理想的ではないようです。

  1. __getattr__属性がアクティビティタイプであることを確認し、適切な行を返すように定義します。

  2. forループの代わりに再帰関数呼び出しを使用して、再帰の各レベルが独自の名前空間を持つようにします。

どちらも私の好みには少し賢すぎて、私も作った場合は慎重にやりとりしなければならないことがpandas.DataFrameすでにあります。__getattr__再帰は機能しますが、型のセットには固有のツリーのような構造がないため、非常に間違っていると感じます。それはフラットであり、コードではフラットに見えるはずです!