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

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

10
データを上書きせずに既存のExcelファイルに書き込む方法(パンダを使用)?
私はパンダを使用して次の方法でExcelファイルに書き込みます: import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save() Masterfile.xlsxはすでにさまざまなタブで構成されています。ただし、「メイン」はまだ含まれていません。 パンダは「メイン」シートに正しく書き込みますが、残念ながら他のすべてのタブも削除されます。

3
文字列がリスト内のサブ文字列の1つをパンダで含むかどうかをテストする方法は?
df.isin()andの組み合わせに相当する関数はありdf[col].str.contains()ますか? たとえば、シリーズがあり s = pd.Series(['cat','hat','dog','fog','pet'])、のsいずれかが含まれるすべての場所を検索したい場合['og', 'at']、「ペット」以外のすべてを取得したいとします。 私には解決策がありますが、それはかなり洗練されていません: searchfor = ['og', 'at'] found = [s.str.contains(x) for x in searchfor] result = pd.DataFrame[found] result.any() これを行うより良い方法はありますか?

5
Pandasを使用して文字列列の各値に文字列プレフィックスを追加する
パンダデータフレームの上記の列の各値の先頭に(エレガントに)文字列を追加したいと思います。私はすでにこれをどのように行うかを考え出し、現在使用しています: df.ix[(df['col'] != False), 'col'] = 'str'+df[(df['col'] != False), 'col'] これは、やらなければならないエレガントなことの1つの地獄のようです-他の方法を知っていますか? これがまだ不明な場合は、次のように変更します。 col 1 a 2 0 に: col 1 stra 2 str0

3
パンダの将来の警告を抑制する方法は?
プログラムを実行すると、パンダスは毎回以下のような「未来の警告」を出します。 D:\Python\lib\site-packages\pandas\core\frame.py:3581: FutureWarning: rename with inplace=True will return None from pandas 0.11 onward " from pandas 0.11 onward", FutureWarning) メッセージを受け取りましたが、そのようなメッセージを表示するパンダを何度も停止したいのですが、パンダが「将来の警告」をポップアップしないように設定できる組み込みパラメータはありますか?

1
Pandasはビューとコピーを生成するためにどのようなルールを使用していますか?
データフレームからの選択が元のデータフレームのコピーまたは元のビューであると決定するときにPandasが使用するルールについて混乱しています。 たとえば、 df = pd.DataFrame(np.random.randn(8,8), columns=list('ABCDEFGH'), index=range(1,9)) 私queryはaがコピーを返すので、 foo = df.query('2 < index <= 5') foo.loc[:,'E'] = 40 は、元のデータフレームには影響しませんdf。また、スカラーまたは名前付きスライスがビューを返すことも理解しています。 df.iloc[3] = 70 または df.ix[1,'B':'E'] = 222 変わりdfます。しかし、もっと複雑なケースになると、私は迷っています。例えば、 df[df.C <= df.B] = 7654321 変更しますがdf、 df[df.C <= df.B].ix[:,'B':'E'] ではない。 パンダが使用している簡単なルールはありますか?これらの特定のケースで何が起こっているか。特に、特定のクエリを満たすデータフレーム内のすべての値(または値のサブセット)をどのように変更しますか(上記の最後の例で試みているように)? 注:これはこの質問と同じではありません。と私はドキュメントを読んだが、それによって啓発されていません。このトピックに関する「関連」の質問も読みましたが、Pandasが使用している単純なルールや、それをどのように適用するか(たとえば、値(または値のサブセット)の変更)がまだありません。特定のクエリを満たすデータフレーム内。

5
str.containsでNaNを無視する
次のように、文字列を含む行を検索したい: DF[DF.col.str.contains("foo")] ただし、一部の要素がNaNであるため、これは失敗します。 ValueError:NA / NaN値を含むベクトルではインデックスを作成できません だから私は難読化された DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")] もっと良い方法はありますか?
117 python  pandas 

8
1次元配列が期待されるときに列ベクトルyが渡されました
私はフィットする必要がありますRandomForestRegressorからsklearn.ensemble。 forest = ensemble.RandomForestRegressor(**RF_tuned_parameters) model = forest.fit(train_fold, train_y) yhat = model.predict(test_fold) このコードは、データの前処理を行うまで常に機能しました(train_y)。エラーメッセージは言う: DataConversionWarning:1次元配列が予期されていたときに、列ベクトルyが渡されました。例えばravel()を使用して、yの形状を(n_samples、)に変更してください。 モデル= forest.fit(train_fold、train_y) 以前train_yはSeriesでしたが、現在はnumpy配列です(列ベクトルです)。を適用train_y.ravel()すると、行ベクトルになり、エラーメッセージは表示されず、予測ステップに非常に長い時間がかかります(実際には終了しません...)。 RandomForestRegressor私のドキュメントでは、 この問題を解決するためのアイデアtrain_yとして定義する必要があることがわかりましたy : array-like, shape = [n_samples] or [n_samples, n_outputs]か?

4
pandas.DataFrameを逆にする正しい方法は?
これが私のコードです: import pandas as pd data = pd.DataFrame({'Odd':[1,3,5,6,7,9], 'Even':[0,2,4,6,8,10]}) for i in reversed(data): print(data['Odd'], data['Even']) このコードを実行すると、次のエラーが発生します。 Traceback (most recent call last): File "C:\Python33\lib\site-packages\pandas\core\generic.py", line 665, in _get_item_cache return cache[item] KeyError: 5 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\*****\Documents\******\********\****.py", line 5, in …
117 python  pandas  reverse 


17
SQLクエリの結果をPANDASデータ構造に変換する方法
この問題に関するどんな助けでも大歓迎です。 したがって、基本的には、SQLデータベースに対してクエリを実行し、返されたデータをPandasデータ構造として保存します。 クエリ用のコードを添付しました。 パンダのドキュメントを読んでいますが、クエリの戻り値のタイプを特定するのに問題があります。 クエリ結果を印刷しようとしましたが、有用な情報がありません。 ありがとう!!!! from sqlalchemy import create_engine engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING') connection2 = engine2.connect() dataid = 1022 resoverall = connection2.execute(" SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = …

9
パンダのデータフレームに非常に長い文字列を完全に印刷します
一見非常に単純なことに苦労しています。非常に長い文字列を含むパンダデータフレームがあります。 df = pd.DataFrame({'one' : ['one', 'two', 'This is very long string very long string very long string veryvery long string']}) 同じ文字列を印刷しようとすると、文字列全体が表示されず、文字列の一部しか表示されません。 次のオプションを試しました を使用して print(df.iloc[2]) を使用して to_html を使用して to_string stackoverflow回答の1つは、pandas表示オプションを使用して列幅を増やすことを提案しましたが、どちらも機能しませんでした。 また、set_printoptions私がどのように役立つかわかりませんでした。 どんなアイデアでも大歓迎です。非常にシンプルに見えますが、取得できません!
116 python  string  pandas  options 

14
Pandas DataFrameで列をネスト解除(分解)する方法は?
列の1つがオブジェクト(リスト型セル)である次のDataFrameがあります。 df=pd.DataFrame({'A':[1,2],'B':[[1,2],[1,2]]}) df Out[458]: A B 0 1 [1, 2] 1 2 [1, 2] 私の予想される出力は: A B 0 1 1 1 1 2 3 2 1 4 2 2 これを達成するにはどうすればよいですか? 関連する質問 パンダ:セルの内容がリストの場合、リストの各要素の行を作成します 質問と回答だけ(私の答えでは自己DEF機能は、複数の列のために働くリストで1列を扱う良い、また、受け入れ答えは、最も時間のかかる使用しているapply詳細情報を確認し、推奨されていない、私が今までにしたいはずですとき私のコードでパンダapply()を使用するには?)
116 python  pandas  dataframe 

4
パンダはいくつかの列を行に変換します
したがって、私のデータセットには、n日付の場所ごとの情報が含まれています。問題は、各日付が実際には異なる列ヘッダーであることです。たとえば、CSVは次のようになります。 location name Jan-2010 Feb-2010 March-2010 A "test" 12 20 30 B "foo" 18 20 25 私が欲しいのはそれが次のようになることです location name Date Value A "test" Jan-2010 12 A "test" Feb-2010 20 A "test" March-2010 30 B "foo" Jan-2010 18 B "foo" Feb-2010 20 B "foo" March-2010 25 問題は、列にある日付の数がわからないことです(ただし、名前の後に常に開始されることがわかっています)。
115 python  pandas 

8
エントリの長さが異なるディクショナリからデータフレームを作成する
10個のキーと値のペアを持つ辞書があるとします。各エントリは、numpy配列を保持します。ただし、配列の長さはそれらすべてで同じではありません。 各列が異なるエントリを保持するデータフレームを作成するにはどうすればよいですか? 私が試したとき: pd.DataFrame(my_dict) 私は得ます: ValueError: arrays must all be the same length これを克服する方法はありますか?Pandas NaNに短い列の列を埋めるために使用してもらえてうれしいです。
114 python  pandas 

3
パンダは列をインデックスとして使用できますか?
次のようなスプレッドシートがあります。 Locality 2005 2006 2007 2008 2009 ABBOTSFORD 427000 448000 602500 600000 638500 ABERFELDIE 534000 600000 735000 710000 775000 AIREYS INLET459000 440000 430000 517500 512500 列と行を手動で入れ替えたくありません。次のようにリストにデータを読み取るパンダを使用することは可能ですか? data['ABBOTSFORD']=[427000,448000,602500,600000,638500] data['ABERFELDIE']=[534000,600000,735000,710000,775000] data['AIREYS INLET']=[459000,440000,430000,517500,512500]
114 python  excel  pandas 

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