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

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

6
パンダのiterrowsにはパフォーマンスの問題がありますか?
パンダのiterrowを使用すると、パフォーマンスが非常に低下することに気づきました。 これは他の人が経験するものですか?それはiterrowsに固有ですか?この関数は特定のサイズのデータ​​(200万から300万行を処理しています)に対しては回避する必要がありますか? GitHub に関するこの議論から、データフレームでdtypeが混在していることが原因であると信じるようになりましたが、以下の簡単な例では、1つのdtype(float64)を使用している場合でも存在することを示しています。これは私のマシンで36秒かかります: import pandas as pd import numpy as np import time s1 = np.random.randn(2000000) s2 = np.random.randn(2000000) dfa = pd.DataFrame({'s1': s1, 's2': s2}) start = time.time() i=0 for rowindex, row in dfa.iterrows(): i+=1 end = time.time() print end - start applyのようなベクトル化された操作がなぜこれほど速くなるのですか?そこにも行ごとの反復がいくつかあるはずだと思います。 私の場合にiterrowを使用しない方法を理解できません(これは今後の質問のために保存します)。したがって、この繰り返しを常に回避できる場合は、ご連絡いただければ幸いです。個別のデータフレームのデータに基づいて計算を行っています。ありがとうございました! ---編集:実行したいものの簡略版を以下に追加しました--- import pandas as pd …

5
matplotlib棒グラフに値ラベルを追加する
比較的簡単なものに行き詰まりました。以下に示すコードは、私が取り組んでいるより大きなプロジェクトに基づいたサンプルです。すべての詳細を投稿する理由は見当たらないので、持ってきたデータ構造をそのまま受け入れてください。 基本的に、私は棒グラフを作成しています。棒に値ラベルを追加する方法(棒の中央またはそのすぐ上)を理解することができます。Web上のサンプルを調べていましたが、自分のコードでの実装は成功していません。私は解決策が「テキスト」または「注釈」のいずれかであると信じていますが、私は:a)どちらを使用するかわからない(そして一般的に言えば、いつ使用するかわからない)。b)値ラベルを表示するためにどちらも取得できない。以下の私のコード、あなたの助けに感謝します。前もって感謝します! import numpy as np import pandas as pd import matplotlib.pyplot as plt pd.set_option('display.mpl_style', 'default') %matplotlib inline # Bring some raw data. frequencies = [6, 16, 75, 160, 244, 260, 145, 73, 16, 4, 1] # In my original code I create a series and run on that, # …

2
Python Pandasユーザー警告:非連結軸が整列されていないため、並べ替え
私はいくつかのコードの練習をしていて、これを実行しながらデータフレームのマージを適用してユーザーの警告を取得しています /usr/lib64/python2.7/site-packages/pandas/core/frame.py:6201:FutureWarning:非連結軸が整列されていないため、並べ替えます。パンダの将来のバージョンは、デフォルトでソートされないように変更されます。将来の動作を受け入れるには、「sort = True」を渡します。現在の動作を維持し、警告を消音するには、sort = Falseを渡します これらのコード行について:この警告の解決策を得るのを手伝っていただけませんか。 placement_video = [self.read_sql_vdx_summary, self.read_sql_video_km] placement_video_summary = reduce(lambda left, right: pd.merge(left, right, on='PLACEMENT', sort=False), placement_video) placement_by_video = placement_video_summary.loc[:, ["PLACEMENT", "PLACEMENT_NAME", "COST_TYPE", "PRODUCT", "VIDEONAME", "VIEW0", "VIEW25", "VIEW50", "VIEW75", "VIEW100", "ENG0", "ENG25", "ENG50", "ENG75", "ENG100", "DPE0", "DPE25", "DPE50", "DPE75", "DPE100"]] # print (placement_by_video) placement_by_video["Placement# Name"] = …
92 python  pandas 

6
パンダシリーズをDataFrameに変換する
私はパンダシリーズSFを持っています: email email1@email.com [1.0, 0.0, 0.0] email2@email.com [2.0, 0.0, 0.0] email3@email.com [1.0, 0.0, 0.0] email4@email.com [4.0, 0.0, 0.0] email5@email.com [1.0, 0.0, 3.0] email6@email.com [1.0, 5.0, 0.0] そして、それを次のDataFrameに変換したいと思います。 index | email | list _____________________________________________ 0 | email1@email.com | [1.0, 0.0, 0.0] 1 | email2@email.com | [2.0, 0.0, 0.0] 2 | email3@email.com …

11
データフレームを複数のデータフレームに分割する
実験からのデータ(60人の回答者)を含む非常に大きなデータフレーム(約100万行)があります。 データフレームを60個のデータフレーム(各参加者のデータフレーム)に分割したいと思います。 データフレームdataには、'name'各参加者に固有のコードである、という変数があります。 以下を試しましたが、何も起こりません(または実行が1時間以内に停止しません)。私がやろうとしているのは、dataをより小さなデータフレームに分割し、それらをリストに追加することです(datalist): import pandas as pd def splitframe(data, name='name'): n = data[name][0] df = pd.DataFrame(columns=data.columns) datalist = [] for i in range(len(data)): if data[name][i] == n: df = df.append(data.iloc[i]) else: datalist.append(df) df = pd.DataFrame(columns=data.columns) n = data[name][i] df = df.append(data.iloc[i]) return datalist エラーメッセージが表示されません。スクリプトは永久に実行されているようです。 それを行うための賢い方法はありますか?


2
パンダグループの値の範囲
パンダにgroupby値の増分の範囲で呼び出す簡単な方法はありますか?たとえば、以下の例では、列の最初の2つのグループが「0〜0.155、0.155〜0.31 ...」の範囲に分割されるように、列Bを0.155インクリメントしてビン化およびグループ化できBます。 import numpy as np import pandas as pd df=pd.DataFrame({'A':np.random.random(20),'B':np.random.random(20)}) A B 0 0.383493 0.250785 1 0.572949 0.139555 2 0.652391 0.401983 3 0.214145 0.696935 4 0.848551 0.516692 あるいは、最初にそれらの増分によってデータを新しい列に分類し、その後groupby、列に適用できる可能性のある関連する統計を決定するために使用することができますAか?

6
pandasDataFrameから空のセルを含む行を削除します
私はpd.DataFrameいくつかのExcelスプレッドシートを解析することによって作成されたものを持っています。その列のセルは空です。たとえば、以下はその列の頻度の出力です。32320レコードにはテナントの値がありません。 >>> value_counts(Tenant, normalize=False) 32320 Thunderhead 8170 Big Data Others 5700 Cloud Cruiser 5700 Partnerpedia 5700 Comcast 5700 SDP 5700 Agora 5700 dtype: int64 テナントが欠落している行を削除しようとし.isnull()ていますが、オプションが欠落している値を認識しません。 >>> df['Tenant'].isnull().sum() 0 列のデータ型は「オブジェクト」です。この場合はどうなりますか?テナントが欠落しているレコードをドロップするにはどうすればよいですか?
92 python  pandas 

8
大きなパンダのデータフレームを分割する
423244行の大きなデータフレームがあります。これを4つに分割したいのですが、エラーが発生した次のコードを試しましたか?ValueError: array split does not result in an equal division for item in np.split(df, 4): print item このデータフレームを4つのグループに分割するにはどうすればよいですか?
92 python  pandas 

6
パンダの大規模で永続的なDataFrame
私は、長年のSASユーザーとしてpythonとpandasへの切り替えを検討しています。 しかし、今日いくつかのテストを実行しているときpandas.read_csv()、128mbのcsvファイルを書き込もうとすると、Pythonがメモリ不足になって驚いた。約200,000行と200列の大部分が数値データでした。 SASを使用すると、csvファイルをSASデータセットにインポートでき、ハードドライブと同じ大きさになります。 に類似したものはありpandasますか? 私は定期的に大きなファイルを扱っており、分散コンピューティングネットワークにアクセスできません。
91 python  pandas  sas 

6
Pandasデータフレーム/ Numpy配列の「軸」定義のあいまいさ
Python軸がどのように定義されているか、そしてそれらがDataFrameの行または列を参照しているかどうかについて私は非常に混乱しています。以下のコードを検討してください。 >>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"]) >>> df col1 col2 col3 col4 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 したがって、を呼び出すとdf.mean(axis=1)、行全体の平均が得られます。 >>> df.mean(axis=1) 0 1 1 2 2 3 …

9
CSVファイルをパンダDataFrameとしてインポートします
CSVファイルをパンダのDataFrameに読み込むPythonの方法は何ですか(統計操作に使用したり、異なるタイプの列を使用したりできます)? 私のCSVファイル"value.txt"には次の内容が含まれています。 Date,"price","factor_1","factor_2" 2012-06-11,1600.20,1.255,1.548 2012-06-12,1610.02,1.258,1.554 2012-06-13,1618.07,1.249,1.552 2012-06-14,1624.40,1.253,1.556 2012-06-15,1626.15,1.258,1.552 2012-06-16,1626.15,1.263,1.558 2012-06-17,1626.15,1.264,1.572 Rでは、次を使用してこのファイルを読み取ります。 price <- read.csv("value.txt") そしてそれはRdata.frameを返します: > price <- read.csv("value.txt") > price Date price factor_1 factor_2 1 2012-06-11 1600.20 1.255 1.548 2 2012-06-12 1610.02 1.258 1.554 3 2012-06-13 1618.07 1.249 1.552 4 2012-06-14 1624.40 1.253 1.556 5 2012-06-15 1626.15 1.258 1.552 …
91 python  pandas  csv  dataframe 

6
マルチインデックスパンダから選択
列「A」と「B」を持つ多重指数データフレームがあります。 インデックスを単一列のインデックスにリセットせずに、マルチインデックスの1つの列でフィルタリングして行を選択する方法はありますか? 例えば。 # has multi-index (A,B) df #can I do this? I know this doesn't work because the index is multi-index so I need to specify a tuple df.ix[df.A ==1]

2
パンダでタブ区切りファイルを読み取る-Windowsでは機能しますがMacでは機能しません
私は問題なくPandas / Pythonを使用してWindowsでタブ区切りのデータファイルを読んでいます。データファイルには、最初の3行にメモが含まれ、その後にヘッダーが続きます。 df = pd.read_csv(myfile,sep='\t',skiprows=(0,1,2),header=(0)) Macでこのファイルを読み取ろうとしています。(MacでPythonを初めて使用します。)次のエラーが発生します。 pandas.parser.CParserError: Error tokenizing data. C error: Expected 1 fields in line 8, saw 39 設定した場合error_bad_linesのための引数read_csvに虚偽を、私は最後の行の終わりまで続く次の情報を、取得します。 Skipping line 8: expected 1 fields, saw 39 Skipping line 9: expected 1 fields, saw 125 Skipping line 10: expected 1 fields, saw 125 Skipping line 11: expected …

2
Pandas DataFrameをインデックスで並べ替える方法は?
次のようなDataFrameがある場合: import pandas as pd df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A']) インデックスと列値の各組み合わせをそのままにして、このデータフレームをインデックスで並べ替えるにはどうすればよいですか?
91 python  pandas 

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