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

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

11
Jupyter Notebookに2つのパンダテーブルが並べて表示されています
2つのパンダデータフレームがあり、それらをJupyter Notebookに表示したいと思います。 次のようなことをする: display(df1) display(df2) それらを上下に表示します。 最初のデータフレームの右側に2番目のデータフレームを配置したいと思います。同様の質問がありますが、 1つのデータフレームにそれらをマージして、両者の違いを示すことで、人は満足しているようです。 これは私にはうまくいきません。私の場合、データフレームは完全に異なる(比較不可能な要素)場合があり、それらのサイズは異なる場合があります。したがって、私の主な目標はスペースを節約することです。

3
Pandas DataFrameヘッダーから空白を削除するにはどうすればよいですか?
一部の列見出しに余分な空白があるExcelファイルからデータを解析しています。 結果のデータフレームの列をでチェックするとdf.columns、次のようになります。 Index(['Year', 'Month ', 'Value']) ^ # Note the unwanted trailing space on 'Month ' その結果、私はできません: df["Month"] 「月」ではなく「月」を要求したため、列が見つからないことがわかります。 では、列見出しから不要な空白を取り除くにはどうすればよいですか。

3
パンダの集計数は異なります
ユーザーアクティビティのログがあり、合計期間と1日あたりのユニークユーザー数のレポートを生成したいとします。 import numpy as np import pandas as pd df = pd.DataFrame({'date': ['2013-04-01','2013-04-01','2013-04-01','2013-04-02', '2013-04-02'], 'user_id': ['0001', '0001', '0002', '0002', '0002'], 'duration': [30, 15, 20, 15, 30]}) 期間の集計は非常に簡単です。 group = df.groupby('date') agg = group.aggregate({'duration': np.sum}) agg duration date 2013-04-01 65 2013-04-02 45 私がやりたいのは、期間とカウントの個別を同時に合計することですが、count_distinctに相当するものが見つからないようです。 agg = group.aggregate({ 'duration': np.sum, 'user_id': count_distinct}) これは機能しますが、確かにもっと良い方法がありますね。 …
94 python  pandas 

10
パンダの列名に基づいて複数の列を削除する
私はいくつかのデータを持っています、そしてそれをインポートするとき、私はこれらのすべてを削除する簡単な方法を探している次の不要な列を取得します 'Unnamed: 24', 'Unnamed: 25', 'Unnamed: 26', 'Unnamed: 27', 'Unnamed: 28', 'Unnamed: 29', 'Unnamed: 30', 'Unnamed: 31', 'Unnamed: 32', 'Unnamed: 33', 'Unnamed: 34', 'Unnamed: 35', 'Unnamed: 36', 'Unnamed: 37', 'Unnamed: 38', 'Unnamed: 39', 'Unnamed: 40', 'Unnamed: 41', 'Unnamed: 42', 'Unnamed: 43', 'Unnamed: 44', 'Unnamed: 45', 'Unnamed: 46', 'Unnamed: 47', 'Unnamed: …
94 python  pandas 

5
リストからデータフレームに列を追加します
次のような列を持つデータフレームがあります。 A B C 0 4 5 6 7 7 6 5 Aの値の可能な範囲は、0から7までです。 また、私はこのような8つの要素のリストを持っています: List=[2,5,6,8,12,16,26,32] //There are only 8 elements in this list 列Aの要素がnの場合、リストのn番目の要素を新しい列(「D」など)に挿入する必要があります。 データフレーム全体をループせずに、これを一度に行うにはどうすればよいですか? 結果のデータフレームは次のようになります。 A B C D 0 2 4 12 5 16 6 26 7 32 7 32 6 26 5 16 注:データフレームは巨大であり、反復は最後のオプションオプションです。ただし、必要に応じて、「リスト」の要素をdictなどの他のデータ構造に配置することもできます。

6
pandas fillna()に引数として別の列全体を渡す方法
fillnaメソッドを使用して、ある列の欠落している値を別の列の値で埋めたいと思います。 (各行をループすることは非常に悪い習慣であり、すべてを一度に行う方がよいと読みましたが、それを行う方法を見つけることができませんでしたfillna。) 以前のデータ: Day Cat1 Cat2 1 cat mouse 2 dog elephant 3 cat giraf 4 NaN ant 後のデータ: Day Cat1 Cat2 1 cat mouse 2 dog elephant 3 cat giraf 4 ant ant
94 python  pandas  fillna 

3
パンダの棒グラフの値で棒に注釈を付ける
Pandas棒グラフの棒にDataFrameの丸められた数値で注釈を付ける方法を探していました。 >>> df=pd.DataFrame({'A':np.random.rand(2),'B':np.random.rand(2)},index=['value1','value2'] ) >>> df A B value1 0.440922 0.911800 value2 0.588242 0.797366 私はこのようなものを手に入れたいです: このコードサンプルを試してみましたが、注釈はすべてxティックを中心にしています。 >>> ax = df.plot(kind='bar') >>> for idx, label in enumerate(list(df.index)): for acc in df.columns: value = np.round(df.ix[idx][acc],decimals=2) ax.annotate(value, (idx, value), xytext=(0, 15), textcoords='offset points')

1
3桁の数字のヒートマップに科学的記数法を示すSeaborn
以下のように、パンダのピボットテーブルからヒートマップを作成しています。 table2 = pd.pivot_table(df,values='control',columns='Year',index='Region',aggfunc=np.sum) sns.heatmap(table2,annot=True,cmap='Blues') 以下に示すようなヒートマップを作成します。数字はそれほど大きくない(最大750)ことがわかりますが、科学的記数法で示しています。テーブル自体を見ると、そうではありません。数字をわかりやすい表記で表示する方法について何か考えはありますか?

11
Dataframeセル内のリストを個別の行に分解する方法
リストを含むパンダのセルを、それらの各値の行に変換しようとしています。 だから、これを取る: nearest_neighbors列の値をアンパックしてスタックし、各値が各opponentインデックス内の行になるようにしたい場合は、どうすればよいですか?このような操作を目的としたパンダメソッドはありますか?

1
「レベル」、「キー」、およびパンダの連結関数の名前引数は何ですか?
ご質問 どうやって使うのpd.concat? 何のためのlevels議論ですか? 何のためのkeys議論ですか? すべての引数の使用方法を説明するのに役立つ例がたくさんありますか? パンダのconcat機能は、合併するユーティリティのスイスアーミーナイフです。それが役立つさまざまな状況は数多くあります。既存のドキュメントでは、オプションの引数のいくつかに関する詳細は省略されています。その中にはlevelsおよびkeys引数があります。私はそれらの議論が何をするかを理解することに着手しました。 のさまざまな側面へのゲートウェイとして機能する質問をしますpd.concat。 データフレームを考えてみましょうd1、d2とd3。 import pandas as pd d1 = pd.DataFrame(dict(A=.1, B=.2, C=.3), [2, 3]) d2 = pd.DataFrame(dict(B=.4, C=.5, D=.6), [1, 2]) d3 = pd.DataFrame(dict(A=.7, B=.8, D=.9), [1, 3]) これらを一緒に連結すると pd.concat([d1, d2, d3], keys=['d1', 'd2', 'd3']) pandas.MultiIndex私のcolumnsオブジェクトので期待される結果が得られます: A B C D d1 2 0.1 0.2 0.3 …
93 python  pandas 

6
matplotlibのラインプロットに表示される垂直グリッド線の取得
プロットに水平グリッド線と垂直グリッド線の両方を取得したいのですが、デフォルトでは水平グリッド線のみが表示されています。私が使用していますpandas.DataFrame、x軸上の日付とラインプロットを生成するためにpythonでSQLクエリから。それらが日付に表示されない理由がわかりません。これに対する答えを検索しようとしましたが、見つかりませんでした。 グラフのプロットに使用したのは、以下の単純なコードだけです。 data.plot() grid('on') dataは、日付とSQLクエリからのデータを含むDataFrameです。 以下のコードも追加してみましたが、垂直グリッド線がなくても同じ出力が得られます。 ax = plt.axes() ax.yaxis.grid() # horizontal lines ax.xaxis.grid() # vertical lines 助言がありますか?

6
累積合計によるパンダグループ
Pandasデータフレームに累積合計列を追加して、次のようにします。 name | day | no -----|-----------|---- Jack | Monday | 10 Jack | Tuesday | 20 Jack | Tuesday | 10 Jack | Wednesday | 50 Jill | Monday | 40 Jill | Wednesday | 110 になります: Jack | Monday | 10 | 10 Jack | Tuesday | 30 …
93 python  pandas 


5
同じ図に異なるデータフレームをプロットする
長年の温度記録を含む温度ファイルがあり、次のような形式です。 2012-04-12,16:13:09,20.6 2012-04-12,17:13:09,20.9 2012-04-12,18:13:09,20.6 2007-05-12,19:13:09,5.4 2007-05-12,20:13:09,20.6 2007-05-12,20:13:09,20.6 2005-08-11,11:13:09,20.6 2005-08-11,11:13:09,17.5 2005-08-13,07:13:09,20.6 2006-04-13,01:13:09,20.6 毎年、レコードの番号、時刻が異なるため、パンダのdatetimeindicesはすべて異なります。 比較するために、異なる年のデータを同じ図にプロットします。X軸は1月から12月で、Y軸は温度です。これを行うにはどうすればよいですか?

6
Ipythonノートブック(1つのセル内)でループ内のプロットを動的に更新する方法
環境:Python 2.7、matplotlib 1.3、IPython notebook 1.1、linux、chrome。コードは、1つの単一の入力セルにあります。--pylab=inline IPythonノートブックとパンダを使用してストリームを消費し、5秒ごとに動的にプロットを更新したいと思います。 printステートメントを使用してデータをテキスト形式で印刷すると、完全に正常に機能します。出力セルはデータを印刷し続け、新しい行を追加します。しかし、データをプロットしようとすると(その後ループで更新しようとすると)、出力セルにプロットが表示されません。ただし、ループを削除した場合は、1回だけプロットします。正常に動作します。 次に、簡単なテストをいくつか行いました。 i = pd.date_range('2013-1-1',periods=100,freq='s') while True: plot(pd.Series(data=np.random.randn(100), index=i)) #pd.Series(data=np.random.randn(100), index=i).plot() also tried this one time.sleep(5) プロセスを手動で中断するまで(ctrl + m + i)、出力には何も表示されません。そして、それを中断した後、プロットは複数の重なり合った線として正しく表示されます。しかし、私が本当に望んでいるのは、表示されて5秒ごとに更新されるプロットです(または、plot()関数が呼び出されたときはいつでも、上で述べた印刷ステートメントの出力と同様に、うまく機能します)。セルが完全に完了した後に最終的なチャートを表示するだけでは、私は望みません。 それぞれの後にdraw()関数を明示的に追加することなども試みましたplot()。どれも機能しません。IPython Notebookの1つのセル内でfor / whileループによってプロットを動的に更新する方法を知りましょう。

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