タグ付けされた質問 「pandas」

Pandasは、データの操作と分析のためのPythonライブラリです。たとえば、データフレーム、多次元時系列、統計、実験科学の結果、計量経済学、金融などでよく見られる断面データセットです。Pandasは、Pythonの主要なデータサイエンスライブラリの1つです。

10
列の値に基づいてDataFrameから行を選択する方法は?
DataFramePythonパンダのいくつかの列の値に基づいてから行を選択するにはどうすればよいですか? SQLでは、次のように使用します。 SELECT * FROM table WHERE colume_name = some_value 私はパンダのドキュメントを見てみましたが、すぐには答えが見つかりませんでした。
1960 python  pandas  dataframe 

22
パンダのデータフレームの行を反復する方法は?
私はDataFrameパンダから来ました: import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}] df = pd.DataFrame(inp) print df 出力: c1 c2 0 10 100 1 11 110 2 12 120 次に、このフレームの行を反復処理します。すべての行について、列の名前でその要素(セルの値)にアクセスできるようにしたいと思います。例えば: for row in df.rows: print row['c1'], row['c2'] パンダでそれを行うことは可能ですか? 私はこの同様の質問を見つけました。しかし、それは私に必要な答えを与えません。たとえば、そこで使用することをお勧めします。 for date, row in df.T.iteritems(): または for row in df.iterrows(): しかし、私はrowオブジェクトが何であるか、そしてどうやってそれを扱うことができるのか分かりません。
1951 python  pandas  rows  dataframe 

26
パンダの列の名前を変更する
元の列ラベルを置き換えるために編集する必要があるパンダと列ラベルを使用するDataFrameがあります。 A元の列名が次のようなDataFrameの列名を変更したいと思います。 ['$a', '$b', '$c', '$d', '$e'] に ['a', 'b', 'c', 'd', 'e']. 編集した列名をリストに保存していますが、列名を置き換える方法がわかりません。

15
Pandas DataFrameから列を削除する
DataFrameの列を削除するとき、私は次のように使用します。 del df['column_name'] そして、これはうまくいきます。以下を使用できないのはなぜですか? del df.column_name 列/シリーズにとしてアクセスできるため、これが機能することdf.column_nameを期待していました。
1331 python  pandas  dataframe 


19
パンダのDataFrame列ヘッダーからリストを取得する
パンダのDataFrameから列ヘッダーのリストを取得したいのですが。DataFrameはユーザー入力から取得されるため、列がいくつあるか、または何が呼び出されるかはわかりません。 たとえば、次のようなDataFrameが与えられたとします。 >>> my_dataframe y gdp cap 0 1 2 5 1 2 3 9 2 8 7 2 3 3 4 7 4 6 7 7 5 4 8 3 6 8 2 8 7 9 9 10 8 6 6 4 9 10 10 7 私はこのようなリストを取得したいと思います: >>> header_list …
1015 python  pandas  dataframe 

16
パンダを使用した「大容量データ」ワークフロー
私はパンダを学びながら何ヶ月もの間この質問への答えを困惑させようとしました。私は毎日の仕事にSASを使用しており、コア外のサポートに最適です。しかし、SASは他の多くの理由からソフトウェアの一部としては恐ろしいものです。 ある日、私はSASの使用をpythonとpandasに置き換えたいと思っていますが、現在、大規模なデータセットのコア外のワークフローが不足しています。私は、分散ネットワークを必要とする「ビッグデータ」ではなく、メモリに収まりきらないがハードドライブに収まるには小さすぎるファイルについて話しているのではありません。 私の最初の考えは、を使用HDFStoreしてディスク上に大きなデータセットを保持し、分析のために必要な部分のみをデータフレームにプルすることです。他の人たちは、MongoDBをより使いやすい代替として言及しました。私の質問はこれです: 以下を達成するためのいくつかのベストプラクティスワークフローは何ですか。 フラットファイルを永続的なディスク上のデータベース構造にロードする データベースをクエリしてデータを取得し、pandasデータ構造にフィードする パンダのピースを操作した後のデータベースの更新 実世界の例は、特に「大きなデータ」でパンダを使用するすべての人から高く評価されます。 編集-これが機能する方法の例: 大きなフラットファイルを繰り返しインポートし、永続的なディスク上のデータベース構造に保存します。これらのファイルは通常、大きすぎてメモリに収まりません。 Pandasを使用するために、メモリに収まるこのデータのサブセット(通常は一度に数列のみ)を読みたいと思います。 選択した列に対してさまざまな操作を実行して、新しい列を作成します。 次に、これらの新しい列をデータベース構造に追加する必要があります。 これらの手順を実行するためのベストプラクティスの方法を見つけようとしています。パンダとpytablesに関するリンクを読むと、新しい列を追加するのが問題になるようです。 編集-ジェフの質問への具体的な回答: 私は消費者信用リスクモデルを構築しています。データの種類には、電話、SSN、および住所の特性が含まれます。プロパティ値; 犯罪歴、破産などの軽蔑的な情報...私が毎日使用するデータセットには、混合データタイプの平均で1,000〜2,000のフィールドがあります。数値データと文字データの両方の連続変数、名義変数、順序変数です。行を追加することはめったにありませんが、新しい列を作成する多くの操作を実行します。 一般的な操作では、条件付きロジックを使用して複数の列を組み合わせて、新しい複合列を作成します。たとえば、if var1 > 2 then newvar = 'A' elif var2 = 4 then newvar = 'B'。これらの操作の結果は、データセット内のすべてのレコードの新しい列です。 最後に、これらの新しい列をディスク上のデータ構造に追加したいと思います。ステップ2を繰り返して、モデルに対する興味深い直感的な関係を見つけようとするクロス集計と記述統計を使用してデータを探索します。 通常のプロジェクトファイルは通常約1GBです。ファイルは、行が消費者データのレコードで構成されるような方法で編成されます。各行には、すべてのレコードで同じ数の列があります。これは常に当てはまります。 新しい列を作成するときに行ごとにサブセットを作成することは非常にまれです。ただし、レポートを作成したり、説明的な統計を生成したりするときに、行をサブセット化することはよくあることです。たとえば、特定の業種の単純なフリークエンシーを作成したい場合があります(小売クレジットカードなど)。これを行うには、レポートする列に加えて、基幹業務=小売のレコードのみを選択します。ただし、新しい列を作成するときは、データのすべての行と、操作に必要な列のみを取得します。 モデリングプロセスでは、すべての列を分析し、結果変数との興味深い関係を探し、それらの関係を記述する新しい複合列を作成する必要があります。私が探索する列は通常、小さなセットで行われます。たとえば、プロパティ値を扱う20列のセットに焦点を当て、それらがローンのデフォルトにどのように関連するかを観察します。それらが探索されて新しい列が作成されたら、次に大学教育などの別の列グループに進み、プロセスを繰り返します。私がやっていることは、私のデータといくつかの結果との関係を説明する候補変数を作成することです。このプロセスの最後に、これらの複合列から方程式を作成するいくつかの学習手法を適用します。 データセットに行を追加することはめったにありません。ほとんどの場合、新しい列(変数または統計/機械学習用語の機能)を作成します。

23
Python pandasの既存のDataFrameに新しい列を追加する
名前付きの列と行ではなく、連続した番号を持つ次のインデックス付きDataFrameがあります。 a b c d 2 0.671399 0.101208 -0.181532 0.241273 3 0.446172 -0.243316 0.051767 1.577318 5 0.614758 0.075793 -0.451460 -0.012493 'e'既存のデータフレームに新しい列を追加し、データフレーム内の何も変更したくない(つまり、新しい列は常にDataFrameと同じ長さです)。 0 -0.335485 1 -1.166658 2 -0.385571 dtype: float64 e上記の例に列を追加するにはどうすればよいですか?

14
パンダのDataFrameの行数を取得するにはどうすればよいですか?
Pandasを使用してデータフレームdfの行数を取得しようとしています。これが私のコードです。 方法1: total_rows = df.count print total_rows +1 方法2: total_rows = df['First_columnn_label'].count print total_rows +1 どちらのコードスニペットでもこのエラーが発生します。 TypeError:+: 'instancemethod'および 'int'でサポートされていないオペランドタイプ 何が悪いのですか?
935 python  pandas  dataframe 

30
DataFrame列の順序を変更するにはどうすればよいですか?
次のものがありますDataFrame(df): import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) 割り当てによって列をさらに追加します。 df['mean'] = df.mean(1) どうすれば列meanを前に移動できますか。つまり、他の列の順序を変更せずに最初の列として設定するにはどうすればよいですか?
879 python  pandas  dataframe 

25
pandas DataFrameに1行追加する
私はパンダが完全に読み込まれたように設計されていることを理解していますが、空のDataFrameDataFrameを作成してから、行を1つずつ追加する必要があります。これを行う最良の方法は何ですか? 私は空のデータフレームを正常に作成しました: res = DataFrame(columns=('lib', 'qty1', 'qty2')) 次に、新しい行を追加して、フィールドに次のように入力します。 res = res.set_value(len(res), 'qty1', 10.0) 動作しますが非常に奇妙に見えます:-/(文字列値の追加に失敗します) DataFrameに新しい列を追加するにはどうすればよいですか(列の種類が異なります)。

9
パンダの列のデータ型を変更する
リストのリストとして表されたテーブルをに変換したいPandas DataFrame。非常に単純化した例として: a = [['a', '1.2', '4.2'], ['b', '70', '0.03'], ['x', '5', '0']] df = pd.DataFrame(a) 列を適切なタイプ、この場合は列2と3を浮動小数点数に変換する最良の方法は何ですか?DataFrameへの変換中にタイプを指定する方法はありますか?または、最初にDataFrameを作成し、次に列をループして各列のタイプを変更する方が良いでしょうか?理想的には、何百もの列が存在する可能性があり、どの列がどのタイプであるかを正確に指定したくないので、動的な方法でこれを実行したいと思います。私が保証できるのは、各列に同じタイプの値が含まれていることだけです。

13
特定の列の値がNaNであるPandas DataFrameの行を削除する方法
私はこれを持ってDataFrameおり、EPS列が次のレコードでないレコードのみが必要ですNaN。 >>> df STK_ID EPS cash STK_ID RPT_Date 601166 20111231 601166 NaN NaN 600036 20111231 600036 NaN 12 600016 20111231 600016 4.3 NaN 601009 20111231 601009 NaN NaN 601939 20111231 601939 2.5 NaN 000001 20111231 000001 NaN NaN ...つまりdf.drop(....)、この結果のデータフレームを取得するようなもの: STK_ID EPS cash STK_ID RPT_Date 600016 20111231 600016 4.3 NaN 601939 …
754 python  pandas  dataframe  nan 

7
pandas DataFrameをCSVファイルに書き込む
CSVファイルに書き込みたいパンダのデータフレームがあります。私はこれを使ってこれをやっています: df.to_csv('out.csv') そしてエラーを取得する: UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128) これを簡単に回避する方法はありますか(つまり、データフレームにUnicode文字があります)?そして、例えば「to-tab」メソッドを使用してCSVの代わりにタブ区切りファイルに書き込む方法はありますか(私は存在しないと思います)?
715 python  csv  pandas  dataframe 

8
辞書のリストをpandas DataFrameに変換する
私はこのような辞書のリストを持っています: [{'points': 50, 'time': '5:00', 'year': 2010}, {'points': 25, 'time': '6:00', 'month': "february"}, {'points':90, 'time': '9:00', 'month': 'january'}, {'points_h1':20, 'month': 'june'}] そして、私はこれをDataFrameこのようなパンダに変えたいです: month points points_h1 time year 0 NaN 50 NaN 5:00 2010 1 february 25 NaN 6:00 NaN 2 january 90 NaN 9:00 NaN 3 june NaN 20 NaN …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.