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

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


13
groupbyオブジェクトを印刷する方法
パンダとのグループ化の結果を印刷したい。 私はデータフレームを持っています: import pandas as pd df = pd.DataFrame({'A': ['one', 'one', 'two', 'three', 'three', 'one'], 'B': range(6)}) print(df) A B 0 one 0 1 one 1 2 two 2 3 three 3 4 three 4 5 one 5 「A」でグループ化して印刷すると、次のようになります。 print(df.groupby('A')) <pandas.core.groupby.DataFrameGroupBy object at 0x05416E90> グループ化されたデータフレームをどのように印刷できますか? 私が行った場合: print(df.groupby('A').head()) グループ化されていないかのようにデータフレームを取得します。 A B …
133 python  pandas 

20
Pythonで1つのホットエンコードを行うにはどうすればよいですか?
80%のカテゴリカル変数を使用した機械学習分類問題があります。分類に分類子を使用する場合、1つのホットエンコーディングを使用する必要がありますか?エンコードせずにデータを分類子に渡すことはできますか? 機能を選択するために次のことを実行しようとしています。 私は列車のファイルを読みました: num_rows_to_read = 10000 train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read) カテゴリー特徴のタイプを「カテゴリー」に変更します。 non_categorial_features = ['orig_destination_distance', 'srch_adults_cnt', 'srch_children_cnt', 'srch_rm_cnt', 'cnt'] for categorical_feature in list(train_small.columns): if categorical_feature not in non_categorial_features: train_small[categorical_feature] = train_small[categorical_feature].astype('category') 私は1つのホットエンコーディングを使用しています: train_small_with_dummies = pd.get_dummies(train_small, sparse=True) 問題は、強力なマシンを使用しているにもかかわらず、3番目の部分が頻繁にスタックすることです。 したがって、1つのホットエンコーディングがないと、機能の重要性を判断するために機能を選択できません。 何がお勧めですか?

5
Pandas DataFrame:条件に基づいて、列のすべての値を置き換えます
次のような単純なDataFrameがあります。 「First Season」列からすべての値を選択して、1990年を超える値を1に置き換えます。この例では、Baltimore Ravensのみが1996を1に置き換えます(残りのデータはそのままにします)。 私は以下を使用しました: df.loc[(df['First Season'] > 1990)] = 1 ただし、「First Season」列の値だけでなく、その行のすべての値が1に置き換えられます。 その列の値だけを置き換えるにはどうすればよいですか?
132 python  pandas  dataframe 

5
パンダのデータを正規化する
私がパンダのデータフレームを持っていると仮定しますdf: データフレームの列ごとの平均を計算します。 これは簡単: df.apply(average) 次に、列ごとの範囲max(col)-min(col)。これも簡単です。 df.apply(max) - df.apply(min) 次に、各要素について、その列の平均を減算し、その列の範囲で除算します。どうすればいいのかわかりません ヘルプ/ポインタは大歓迎です。
131 python  pandas  numpy 

10
パンダはデータフレームをタプルの配列に変換します
私はパンダを使用していくつかのデータを操作しましたが、今度はデータベースにバッチ保存を実行したいと思います。これには、データフレームをタプルの配列に変換する必要があり、各タプルはデータフレームの「行」に対応しています。 私のDataFrameは次のようになります: In [182]: data_set Out[182]: index data_date data_1 data_2 0 14303 2012-02-17 24.75 25.03 1 12009 2012-02-16 25.00 25.07 2 11830 2012-02-15 24.99 25.15 3 6274 2012-02-14 24.68 25.05 4 2302 2012-02-13 24.62 24.77 5 14085 2012-02-10 24.38 24.61 それを次のようなタプルの配列に変換したい: [(datetime.date(2012,2,17),24.75,25.03), (datetime.date(2012,2,16),25.00,25.07), ...etc. ] これを効率的に行う方法について何か提案はありますか?
131 python  pandas 

3
パンダの発生を数える最も効率的な方法は何ですか?
私は言うと大規模な(約1200万行)データフレームdfがあります。 df.columns = ['word','documents','frequency'] したがって、以下はタイムリーに実行されました。 word_grouping = df[['word','frequency']].groupby('word') MaxFrequency_perWord = word_grouping[['frequency']].max().reset_index() MaxFrequency_perWord.columns = ['word','MaxFrequency'] ただし、これを実行するには予期しない長い時間がかかります。 Occurrences_of_Words = word_grouping[['word']].count().reset_index() ここで何が悪いのですか?大きなデータフレームで発生をカウントするより良い方法はありますか? df.word.describe() かなりうまく動作したので、このOccurrences_of_Wordsデータフレームの作成に非常に長い時間がかかるとは本当に思っていませんでした。 ps:答えが明白で、この質問をすることでペナルティを課す必要があると感じた場合は、答えも含めてください。ありがとうございました。
131 python  pandas 

6
Pythonパンダで列のdtypeを確認する方法
数値列と文字列列を処理するには、さまざまな関数を使用する必要があります。私が今やっていることは本当にばかげています: allc = list((agg.loc[:, (agg.dtypes==np.float64)|(agg.dtypes==np.int)]).columns) for y in allc: treat_numeric(agg[y]) allc = list((agg.loc[:, (agg.dtypes!=np.float64)&(agg.dtypes!=np.int)]).columns) for y in allc: treat_str(agg[y]) これを行うためのよりエレガントな方法はありますか?例えば for y in agg.columns: if(dtype(agg[y]) == 'string'): treat_str(agg[y]) elif(dtype(agg[y]) != 'string'): treat_numeric(agg[y])
130 python  pandas 

9
列の文字列から不要な部分を削除する
DataFrame列の文字列から不要な部分を削除する効率的な方法を探しています。 データは次のようになります。 time result 1 09:00 +52A 2 10:00 +62B 3 11:00 +44a 4 12:00 +30b 5 13:00 -110a これらのデータを次のようにトリミングする必要があります。 time result 1 09:00 52 2 10:00 62 3 11:00 44 4 12:00 30 5 13:00 110 試してみました.str.lstrip('+-')。str.rstrip('aAbBcC')、しかしエラーが発生しました: TypeError: wrapper() takes exactly 1 argument (2 given) どんなポインタでも大歓迎です!

2
変数がデータフレームかどうかを確認
私の関数fが変数で呼び出されたとき、varがpandasデータフレームかどうかを確認したい: def f(var): if var == pd.DataFrame(): print "do stuff" 解決策はかなり簡単かもしれませんが、 def f(var): if var.values != None: print "do stuff" 期待どおりに動作しません。
129 python  pandas 

8
個別のPandas DataFrameをサブプロットとしてプロットするにはどうすればよいですか?
同じ値スケールを共有するPandas DataFrameがいくつかありますが、列とインデックスが異なります。を呼び出すとdf.plot()、個別のプロット画像が表示されます。私が本当に望んでいるのは、それらすべてをサブプロットと同じプロットに配置することですが、残念ながら、解決策を考え出せず、いくつかの助けを大いに感謝しています。

4
パンダのデータフレームのリストを連結します
1つのPandasデータフレームに結合したいPandasデータフレームのリストがあります。Python 2.7.10とPandas 0.16.2を使用しています 私はからデータフレームのリストを作成しました: import pandas as pd dfs = [] sqlall = "select * from mytable" for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000): dfs.append(chunk) これはデータフレームのリストを返します type(dfs[0]) Out[6]: pandas.core.frame.DataFrame type(dfs) Out[7]: list len(dfs) Out[8]: 408 ここにいくつかのサンプルデータがあります # sample dataframes d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., …

7
csvを読み取るときにパンダのインデックス列を削除する
CSVファイルをインポートする次のコードがあります。3つの列があり、最初の2つを変数に設定します。2番目の列を変数「効率」に設定すると、インデックス列も追加されます。インデックス列を取り除くにはどうすればよいですか? df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) energy = df.index efficiency = df.Efficiency print efficiency 使ってみた del df['index'] 私が設定した後 energy = df.index これは別の投稿で見つかりましたが、「KeyError: 'index'」という結果になります
128 python  pandas 

7
MysqlDBで使用するPandasまたはNumpy NanをNoneに置き換える
MysqlDBを使用してmysqlデータベースにPandasデータフレーム(またはnumpy配列を使用できます)を書き込もうとしています。MysqlDBは 'nan'を理解していないようで、nanがフィールドリストにないことを示すエラーがデータベースからスローされます。「nan」をNoneTypeに変換する方法を見つける必要があります。 何か案は?

3
pandas GroupBy.agg()を使用した同じ列の複数の集計
複数回呼び出す必要なしf1, f2に、2つの異なる集計関数を同じ列に適用するpandas組み込みの方法はありますか?df["returns"]agg() データフレームの例: import pandas as pd import datetime as dt pd.np.random.seed(0) df = pd.DataFrame({ "date" : [dt.date(2012, x, 1) for x in range(1, 11)], "returns" : 0.05 * np.random.randn(10), "dummy" : np.repeat(1, 10) }) 構文的には間違っていますが、直感的には正しい方法は次のとおりです。 # Assume `f1` and `f2` are defined for aggregating. df.groupby("dummy").agg({"returns": f1, "returns": f2}) もちろん、Pythonでは重複するキーは許可されていません。への入力を表現する他の方法はありますagg()か?おそらく、タプルのリストは[(column, …

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