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

データフレームは表形式のデータ構造です。通常、これには行が観測で列がさまざまなタイプの変数であるデータが含まれます。「データフレーム」または「データフレーム」は、いくつかの言語(R、Apache Spark、deedle、Maple、Pythonのpandasライブラリ、およびJuliaのDataFramesライブラリ)でこの概念に使用される用語ですが、「テーブル」は、 MATLABおよびSQL。


8
グループごとに複数の変数を集計/要約します(例:合計、平均)
データフレームから、(凝集する簡単な方法がありsum、mean、max同時に他C)複数の変数は? 以下はサンプルデータです。 library(lubridate) days = 365*2 date = seq(as.Date("2000-01-01"), length = days, by = "day") year = year(date) month = month(date) x1 = cumsum(rnorm(days, 0.05)) x2 = cumsum(rnorm(days, 0.05)) df1 = data.frame(date, year, month, x1, x2) 年と月ごとに、データフレームのx1およびx2変数を同時に集計したいと思いdf2ます。次のコードはx1変数を集計しますが、変数を同時に集計することもできx2ますか? ### aggregate variables by year month df2=aggregate(x1 ~ year+month, data=df1, sum, na.rm=TRUE) head(df2) …


7
パンダ:指定された列のDataFrame行の合計
次のDataFrameがあります。 In [1]: import pandas as pd df = pd.DataFrame({'a': [1,2,3], 'b': [2,3,4], 'c':['dd','ee','ff'], 'd':[5,9,1]}) df Out [1]: a b c d 0 1 2 dd 5 1 2 3 ee 9 2 3 4 ff 1 私は、列を追加したい'e'列の合計である'a'、'b'と'd'。 フォーラムを行き来して、私はこのようなものがうまくいくと思いました: df['e'] = df[['a','b','d']].map(sum) しかし、そうではありませんでした。 列のリスト['a','b','d']とdf入力として適切な操作を知りたいのですが。
153 python  pandas  dataframe  sum 


5
パンダのDataFrameの「無名:0」列を取り除く方法は?
csvからdfを読み取るときに、という名前の不要なインデックスのような列が表示される場合がありunnamed:0ます。 file.csv ,A,B,C 0,1,2,3 1,4,5,6 2,7,8,9 CSVは次のように読み込まれます。 pd.read_csv('file.csv') Unnamed: 0 A B C 0 0 1 2 3 1 1 4 5 6 2 2 7 8 9 これは非常に迷惑です!これを取り除く方法について誰かが考えを持っていますか?
152 python  pandas  csv  dataframe 

3
Pandasでのブールインデックスの論理演算子
Pandasでブールインデックスを使用しています。問題は、ステートメントがなぜであるかです: a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)] 正常に動作しますが a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)] エラーで終了しますか? 例: a=pd.DataFrame({'x':[1,1],'y':[10,20]}) In: a[(a['x']==1)&(a['y']==10)] Out: x y 0 1 10 In: a[(a['x']==1) and (a['y']==10)] Out: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

8
パンダは日付を自動的に認識できますか?
今日、私は、データファイル(たとえば)からデータを読み取るときに、パンダが値のタイプを認識できるという事実に積極的に驚きました。 df = pandas.read_csv('test.dat', delimiter=r"\s+", names=['col1','col2','col3']) たとえば、次の方法で確認できます。 for i, r in df.iterrows(): print type(r['col1']), type(r['col2']), type(r['col3']) 特に整数、浮動小数点数および文字列は正しく認識されました。しかし、次の形式の日付を持つ列があります2013-6-4。これらの日付は文字列として認識されました(pythonの日付オブジェクトではありません)。認識された日付までパンダを「学習」する方法はありますか?
151 python  date  types  dataframe  pandas 

3
パンダは列名のみで空のDataFrameを作成します
正常に機能する動的DataFrameがありますが、DataFrameに追加するデータがない場合、エラーが発生します。したがって、列名のみで空のDataFrameを作成するソリューションが必要です。 今のところ、私はこのようなものを持っています: df = pd.DataFrame(columns=COLUMN_NAMES) # Note that there are now row data inserted. PS:列名が引き続きDataFrameに表示されることが重要です。 しかし、このように使用すると、結果としてそのようなものが得られます。 Index([], dtype='object') Empty DataFrame 「Empty DataFrame」の部分は良いです!しかし、インデックスの代わりに、列を表示する必要があります。 編集: 私が見つけた重要なこと:このDataFrameをJinja2を使用してPDFに変換しているため、最初に次のようにHTMLに出力するメソッドを呼び出します。 df.to_html() これは、カラムが失われる場所だと思います。 Edit2:一般的に、私は次の例に従いました:http ://pbpython.com/pdf-reports.html 。CSSもリンクからのものです。これが、データフレームをPDFに送信するために行うことです。 env = Environment(loader=FileSystemLoader('.')) template = env.get_template("pdf_report_template.html") template_vars = {"my_dataframe": df.to_html()} html_out = template.render(template_vars) HTML(string=html_out).write_pdf("my_pdf.pdf", stylesheets=["pdf_report_style.css"]) Edit3: 作成直後にデータフレームを印刷すると、次のようになります。 [0 rows x 9 …
151 python  pandas  dataframe 

10
大きなdata.tableでNAを置き換える最速の方法
大きなdata.tableがありますあり、多くの欠損値が行と200列に散らばっています。これらのNA値をできるだけ効率的にゼロに再コーディングしたいと思います。 2つのオプションが表示されます: 1:data.frameに変換し、次のようなものを使用します 2:ある種のクールなdata.tableサブ設定コマンド タイプ1のかなり効率的なソリューションに満足します。data.frameに変換してからdata.tableに戻すのに時間がかかりません。

8
data.frameの各行を列で指定された回数繰り返します
df <- data.frame(var1 = c('a', 'b', 'c'), var2 = c('d', 'e', 'f'), freq = 1:3) 上記のdata.frameの最初の2列を各行に展開して、各行が列 'freq'で指定された回数繰り返されるようにする最も簡単な方法は何ですか? 言い換えれば、これから行きます: df var1 var2 freq 1 a d 1 2 b e 2 3 c f 3 これに: df.expanded var1 var2 1 a d 2 b e 3 b e 4 c f …
150 r  dataframe  replicate 

12
パンダの空白値(空白)をNaNで置き換える
空白(任意の量)を含むPandasデータフレーム内のすべての値を検索し、それらの値をNaNで置き換えたい。 これを改善する方法はありますか? 基本的に私はこれを変えたいです: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz 2000-01-05 -0.222552 4 2000-01-06 -1.176781 qux これに: A B C 2000-01-01 -0.532681 foo 0 2000-01-02 1.490752 bar 1 2000-01-03 -1.387326 foo 2 2000-01-04 0.814772 baz NaN 2000-01-05 -0.222552 NaN …
150 python  pandas  dataframe 

11
すべての値がNAであるデータフレームから列を削除します
私は、データフレームとのトラブルを抱えていると、本当にその問題を自分で解決できませんでした:データフレームは、任意の持っている列などのプロパティをし、各行は 1つのを表すデータセットを。 問題は、すべての行の値がNA である列を取り除く 方法です。
149 r  apply  dataframe 

7
行名を最初の列に変換する
私はこのようなデータフレームを持っています: df VALUE ABS_CALL DETECTION P-VALUE 1007_s_at "957.729231881542" "P" "0.00486279317241156" 1053_at "320.632701283368" "P" "0.0313356324173416" 117_at "429.842323161046" "P" "0.0170004527476119" 121_at "2395.7364289242" "P" "0.0114473584876183" 1255_g_at "116.493632746934" "A" "0.39799368200131" 1294_at "739.927122116896" "A" "0.0668649772942343" 行名を最初の列に変換したい。現在、私はこのようなものを使用して、最初の列として行名を作成しています。 d <- df names <- rownames(d) rownames(d) <- NULL data <- cbind(names,d) これを行う単一の行はありますか?
147 r  dataframe  col  rowname 

5
データを3つのセット(トレーニング、検証、テスト)に分割する方法は?
私はパンダのデータフレームを持っていて、それを3つの別々のセットに分割したいと思います。からtrain_test_splitを使用sklearn.cross_validationすると、データを2つのセット(trainとtest)に分割できることがわかります。しかし、データを3つのセットに分割することに関する解決策は見つかりませんでした。できれば、元のデータのインデックスが欲しいです。 回避策は、train_test_split2回使用し、インデックスを調整することです。しかし、データを2つではなく3つのセットに分割する、より標準的な/組み込みの方法はありますか?

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