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

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

12
pandas.ExcelWriterでExcelの列幅を自動調整する方法はありますか?
いくつかのExcelレポートを生成するように求められます。私は現在、データにパンダをかなり多用しています。そのため、当然のことながら、pandas.ExcelWriterメソッドを使用して、これらのレポートを生成します。ただし、固定列幅は問題です。 ここまでのコードは非常に単純です。「df」というデータフレームがあるとします。 writer = pd.ExcelWriter(excel_file_path, engine='openpyxl') df.to_excel(writer, sheet_name="Summary") 私はパンダのコードを調べていましたが、列の幅を設定するためのオプションが本当にありません。列がデータに自動調整されるようにするために、宇宙にトリックがありますか?または、列幅を調整するためにxlsxファイルに対して事後に実行できることはありますか? (私はOpenPyXLライブラリを使用しており、.xlsxファイルを生成しています-違いがある場合)。 ありがとうございました。

8
パンダのタイムゾーン対応のDateTimeIndexをナイーブタイムスタンプに変換しますが、特定のタイムゾーンで
この関数tz_localizeを使用して、タイムスタンプまたはDateTimeIndexのタイムゾーンを認識させることができますが、その逆を行うにはどうすればよいでしょうか。タイムゾーンを保持しながら、タイムスタンプを認識しているタイムスタンプを単純なタイムスタンプに変換するにはどうすればよいでしょうか。 例: In [82]: t = pd.date_range(start="2013-05-18 12:00:00", periods=10, freq='s', tz="Europe/Brussels") In [83]: t Out[83]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 12:00:00, ..., 2013-05-18 12:00:09] Length: 10, Freq: S, Timezone: Europe/Brussels タイムゾーンを[なし]に設定することで削除できますが、結果はUTCに変換されます(12時が10になりました)。 In [86]: t.tz = None In [87]: t Out[87]: <class 'pandas.tseries.index.DatetimeIndex'> [2013-05-18 10:00:00, ..., 2013-05-18 10:00:09] Length: 10, Freq: S, Timezone: …
99 python  pandas 

10
GroupBy pandasDataFrameと最も一般的な値を選択します
3つの文字列列を持つデータフレームがあります。最初の2つのすべての組み合わせに対して、3番目の列の1つの値だけが有効であることを私は知っています。データをクリーンアップするには、最初の2列でデータフレームごとにグループ化し、組み合わせごとに3番目の列の最も一般的な値を選択する必要があります。 私のコード: import pandas as pd from scipy import stats source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'], 'Short name' : ['NY','New','Spb','NY']}) print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0]) コードの最後の行が機能せず、「キーエラー '短い名前'」と表示され、都市のみでグループ化しようとすると、AssertionErrorが発生します。どうすれば修正できますか?

5
pandasデータフレームでNoneをNaNに置き換えます
私はテーブルを持っていますx: website 0 http://www.google.com/ 1 http://www.yahoo.com 2 None pythonNoneをpandasNaNに置き換えたいです。私は試した: x.replace(to_replace=None, value=np.nan) しかし、私は得ました: TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool' どうすればいいですか?

6
パンダのバープロットでx軸の目盛りラベルを回転させる方法
次のコードで: import matplotlib matplotlib.style.use('ggplot') import matplotlib.pyplot as plt import pandas as pd df = pd.DataFrame({ 'celltype':["foo","bar","qux","woz"], 's1':[5,9,1,7], 's2':[12,90,13,87]}) df = df[["celltype","s1","s2"]] df.set_index(["celltype"],inplace=True) df.plot(kind='bar',alpha=0.75) plt.xlabel("") 私はこのプロットを作りました: x軸の目盛りラベルを0度に回転させるにはどうすればよいですか? これを追加しようとしましたが、機能しませんでした。 plt.set_xticklabels(df.index,rotation=90)

4
Pythonパンダ:選択した列をシリーズではなくDataFrameとして保持する
(例えばパンダデータフレームからの単一の列を選択する場合df.iloc[:, 0]、df['A']またはdf.A、等)、得られたベクターは、自動的にシリーズの代わりに、単一列のデータフレームに変換されます。ただし、入力引数としてDataFrameを受け取る関数をいくつか作成しています。したがって、関数がdf.columnsにアクセス可能であると想定できるように、Seriesではなく単一列のDataFrameを処理することを好みます。今のところ、のようなものを使用して、シリーズをデータフレームに明示的に変換する必要がありpd.DataFrame(df.iloc[:, 0])ます。これは最もクリーンな方法ではないようです。結果がSeriesではなく単一列のDataFrameになるように、DataFrameから直接インデックスを作成するより洗練された方法はありますか?
99 python  pandas 

5
Pandas groupbyを使用して、複数の行の文字列を連結します
Pandasのgroupedbyに基づいて、データフレーム内の複数の文字列をマージしたいと思います。 これはこれまでの私のコードです: import pandas as pd from io import StringIO data = StringIO(""" "name1","hej","2014-11-01" "name1","du","2014-11-02" "name1","aj","2014-12-01" "name1","oj","2014-12-02" "name2","fin","2014-11-01" "name2","katt","2014-11-02" "name2","mycket","2014-12-01" "name2","lite","2014-12-01" """) # load string as stream into dataframe df = pd.read_csv(data,header=0, names=["name","text","date"],parse_dates=[2]) # add column with month df["month"] = df["date"].apply(lambda x: x.month) 最終結果を次のようにしたいと思います。 groupbyを使用して、「text」列の文字列を何らかの連結で適用する方法がわかりません。助けていただければ幸いです。

6
複数の列でパンダデータフレームをフィルタリングする方法
データフレーム(df)を単一の列でフィルタリングするには、男性と女性のデータを考慮すると、 males = df[df[Gender]=='Male'] 質問1-しかし、データが複数年にわたっていて、2014年の男性のみを見たい場合はどうすればよいですか? 他の言語では、私は次のようなことをするかもしれません: if A = "Male" and if B = "2014" then (これを行い、新しいデータフレームオブジェクトで元のデータフレームのサブセットを取得したい場合を除く) 質問2.これをループで実行し、年と性別の一意のセットごとにデータフレームオブジェクトを作成するにはどうすればよいですか(例:2013-男性、2013-女性、2014-男性、2014-女性のdf) for y in year: for g in gender: df = .....
98 python  filter  pandas 

5
Pandas DataFrameにapply()がすべてのコアを使用するようにしますか?
2017年8月の時点で、Pandas DataFame.apply()は残念ながらまだシングルコアでの動作に制限されています。つまり、マルチコアマシンは、実行時に計算時間の大部分を浪費しますdf.apply(myfunc, axis=1)。 すべてのコアを使用して、データフレームに並列で適用を実行するにはどうすればよいですか?
98 pandas  dask 

2
パンダで特定の条件が満たされた行の値を更新します
次のデータフレームがあるとします。 ストリームが2番の場合、列featおよびanother_featの値を更新する最も効率的な方法は何ですか? これでしょうか? for index, row in df.iterrows(): if df1.loc[index,'stream'] == 2: # do something 更新: 100を超える列がある場合はどうすればよいですか?更新する列に明示的に名前を付けたくありません。各列の値を2で割りたい(ストリーム列を除く)。 だから私の目標が何であるかを明確にするために: すべての値をストリーム2を持つすべての行の2で除算しますが、ストリーム列は変更しません

7
パンダシリーズをフィルタリングする方法
groupby( 'name')を実行し、他の列でmean()関数を使用した後、このようなシリーズがあります name 383 3.000000 663 1.000000 726 1.000000 737 9.000000 833 8.166667 1.000000の平均値で行を除外する方法を教えてもらえますか?ありがとう、そして私はあなたの助けに大いに感謝します。
98 python  pandas 

4
パンダのデータフレームを日付で並べ替える
私は次のようにパンダのデータフレームを持っています: Symbol Date A 02/20/2015 A 01/15/2016 A 08/21/2015 で並べ替えたいのですDateが、列はただのobjectです。 列を日付オブジェクトにしようとしましたが、その形式が必要な形式ではないという問題が発生しました。必要なフォーマットは2015-02-20,などです。 だから今、私はnumpyに「アメリカの」日付をISO標準に変換させて、それらを日付オブジェクトにして、それらでソートできるようにする方法を理解しようとしています。 これらのアメリカの日付をISO標準に変換するにはどうすればよいですか、それともパンダに欠けているもっと簡単な方法がありますか?
98 python  pandas 

3
pythonpandasデータフレーム列がdictキーと値に変換されます
複数の列を持つパンダデータフレームがあり、2つの列からdictを作成したいと思います。1つはdictのキーとして、もう1つはdictの値として使用します。どうやってやるの? データフレーム: area count co tp DE Lake 10 7 Forest 20 5 FR Lake 30 2 Forest 40 3 エリアをキーとして定義し、dictの値としてカウントする必要があります。前もって感謝します。

4
日時月ごとのパンダデータフレームグループ
csvファイルについて考えてみます。 string,date,number a string,2/5/11 9:16am,1.0 a string,3/5/11 10:44pm,2.0 a string,4/22/11 12:07pm,3.0 a string,4/22/11 12:10pm,4.0 a string,4/29/11 11:59am,1.0 a string,5/2/11 1:41pm,2.0 a string,5/2/11 2:02pm,3.0 a string,5/2/11 2:56pm,4.0 a string,5/2/11 3:00pm,5.0 a string,5/2/14 3:02pm,6.0 a string,5/2/14 3:18pm,7.0 これを読み込んで、日付列を日時形式に再フォーマットできます。 b=pd.read_csv('b.dat') b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p') 私は月ごとにデータをグループ化しようとしています。月にアクセスし、それによってグループ化する明白な方法があるはずのようです。しかし、私はそれをすることができないようです。誰かが方法を知っていますか? 私が現在試しているのは、日付によるインデックスの再作成です。 b.index=b['date'] 私は次のように月にアクセスできます: b.index.month ただ、月ごとにまとめる機能が見つからないようです。

13
python-pandasとmysqlのようなデータベース
Pandasのドキュメントには、さまざまな形式で保存されたデータを操作するためのベストプラクティスの例が多数あります。 ただし、MySQLなどのデータベースを操作するための良い例を見つけることができません。 誰かがリンクを参照するように指示したり、mysql-pythonを使用してクエリ結果をPandasのデータフレームに効率的に変換する方法のコードスニペットを提供したりできますか?
97 python  pandas 

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