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

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

2
パンダのデータフレームを列名で結合する
次の列名を持つ2つのデータフレームがあります。 frame_1: event_id, date, time, county_ID frame_2: countyid, state (左)を結合して、次の列のデータフレームを取得したいと思いますcounty_ID = countyid。 joined_dataframe event_id, date, time, county, state 結合したい列がインデックスでない場合、その方法がわかりません。最も簡単な方法は何ですか?ありがとう!


16
複数の列の名前を名前で変更する
誰かがすでにこれを尋ねるべきでしたが、私は答えを見つけることができませんでした。私が持っていると言う: x = data.frame(q=1,w=2,e=3, ...and many many columns...) 位置が必ずしもわからない列の任意のサブセットの名前を他の任意の名前に変更する最もエレガントな方法は何ですか? たとえば、名前を変更"q"し"e"て"A"andに変更したい"B"場合、これを行うための最もエレガントなコードは何ですか? 明らかに、私はループを行うことができます: oldnames = c("q","e") newnames = c("A","B") for(i in 1:2) names(x)[names(x) == oldnames[i]] = newnames[i] しかし、もっと良い方法があるのだろうか?たぶんいくつかのパッケージを使用していますか?(plyr::renameなど)
84 r  dataframe  rename  r-faq 


3
2つのパンダデータフレームを結合します(共通の列に参加します)
私は2つのデータフレームを持っています: レストラン_ids_dataframe Data columns (total 13 columns): business_id 4503 non-null values categories 4503 non-null values city 4503 non-null values full_address 4503 non-null values latitude 4503 non-null values longitude 4503 non-null values name 4503 non-null values neighborhoods 4503 non-null values open 4503 non-null values review_count 4503 non-null values stars 4503 non-null …

5
Python Pandas groupby操作の結果を親データフレームの列に割り当てる方法は?
IPythonには次のデータフレームがあり、各行は単一の株です。 In [261]: bdata Out[261]: <class 'pandas.core.frame.DataFrame'> Int64Index: 21210 entries, 0 to 21209 Data columns: BloombergTicker 21206 non-null values Company 21210 non-null values Country 21210 non-null values MarketCap 21210 non-null values PriceReturn 21210 non-null values SEDOL 21210 non-null values yearmonth 21210 non-null values dtypes: float64(2), int64(1), object(4) 「yearmonth」列の各日付ごとに、すべてのキャップ加重平均リターンを計算するgroupby操作を適用したいと思います。 これは期待どおりに機能します。 In …

6
シリーズとDataFrameをマージする方法
とインデックスをマージする方法DataFrameSeriesについての情報を探してここに来た場合は、この回答を見てください。 OPの当初の意図は、シリーズ要素を列として別のDataFrameに割り当てる方法を尋ねることでした。これに対する答えを知りたい場合は、EdChumによって受け入れられた答えを見てください。 私が思いつくことができる最高のものは df = pd.DataFrame({'a':[1, 2], 'b':[3, 4]}) # see EDIT below s = pd.Series({'s1':5, 's2':6}) for name in s.index: df[name] = s[name] a b s1 s2 0 1 3 5 6 1 2 4 5 6 誰かがより良い構文/より速い方法を提案できますか? 私の試み: df.merge(s) AttributeError: 'Series' object has no attribute 'columns' そして df.join(s) …

10
選択した列のテーブルのNA値を置き換える方法
NA値の置き換えに関する投稿はたくさんあります。次のテーブル/フレームのNAを次のように置き換えることができることを認識しています。 x[is.na(x)]<-0 しかし、特定の列のみに制限したい場合はどうなりますか?例を示しましょう。 まず、データセットから始めましょう。 set.seed(1234) x <- data.frame(a=sample(c(1,2,NA), 10, replace=T), b=sample(c(1,2,NA), 10, replace=T), c=sample(c(1:5,NA), 10, replace=T)) それは与える: a b c 1 1 NA 2 2 2 2 2 3 2 1 1 4 2 NA 1 5 NA 1 2 6 2 NA 5 7 1 1 4 8 1 …

1
コピーせずにデータフレームをdata.tableに変換します
に変換したい大きなデータフレーム(数GBのオーダー)がありdata.tableます。を使用as.data.tableすると、データフレームのコピーが作成されます。つまり、データの少なくとも2倍のサイズの使用可能なメモリが必要です。コピーなしで変換を行う方法はありますか? 簡単な例を次に示します。 library(data.table) N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) tracemem(data) data <- as.data.table(data) gc() 出力あり: library(data.table) # data.table 1.8.10 For help type: help("data.table") N <- 1e6 K <- 1e2 data <- as.data.frame(rep(data.frame(rnorm(N)), K)) gc(reset=TRUE) # used (Mb) gc trigger (Mb) max used (Mb) # Ncells …

13
data.frameで欠落している値を報告するエレガントな方法
これは、データフレームから値が欠落している変数をレポートするために作成した小さなコードです。私はこれを行うためのよりエレガントな方法を考えようとしています。おそらくdata.frameを返す方法ですが、行き詰まっています。 for (Var in names(airquality)) { missing <- sum(is.na(airquality[,Var])) if (missing > 0) { print(c(Var,missing)) } } 編集:私は数十から数百の変数を持つdata.framesを扱っているので、欠落している値を持つ変数のみを報告することが重要です。

9
PandasDataFrameで無効な値をNoneに置き換えます
NonePythonのPandasで値を置き換える方法はありますか? df.replace('pre', 'post')値を使用して別の値に置き換えることはできますが、値に置き換えたい場合はこれを行うことができずNone、試してみると奇妙な結果が得られます。 だからここに例があります: df = DataFrame(['-',3,2,5,1,-5,-1,'-',9]) df.replace('-', 0) これは成功した結果を返します。 だが、 df.replace('-', None) これは次の結果を返します: 0 0 - // this isn't replaced 1 3 2 2 3 5 4 1 5 -5 6 -1 7 -1 // this is changed to `-1`... 8 9 なぜそのような奇妙な結果が返されるのですか? このデータフレームをMySQLデータベースに注ぎたいのでNaN、データフレームのどの要素にも値を入れることができず、代わりに入れたいと思いNoneます。確かに、あなたは最初に変更することができます'-'しNaN、その後の変換NaNにNone、私はデータフレームは、このようなひどいやり方で動作する理由を知りたいです。 Python2.7およびOSX10.8のパンダ0.12.0devでテスト済み。PythonはOSXにプリインストールされているバージョンであり、参考までに、SciPySuperpackスクリプトを使用してパンダをインストールしました。

7
辞書に基づいてデータフレームに新しい列を追加する
データフレームと辞書があります。新しい列をデータフレームに追加し、辞書に基づいてその値を計算する必要があります。 機械学習、いくつかのテーブルに基づく新しい機能の追加: score = {(1, 45, 1, 1) : 4, (0, 1, 2, 1) : 5} df = pd.DataFrame(data = { 'gender' : [1, 1, 0, 1, 1, 0, 0, 0, 1, 0], 'age' : [13, 45, 1, 45, 15, 16, 16, 16, 15, 15], 'cholesterol' : [1, 2, 2, …

5
各変数の値カウントをアンスタックして返しますか?
私は、複数選択式の質問を通じて19717人のプログラミング言語の選択の応答を記録するデータフレームを持っています。もちろん、最初の列は回答者の性別ですが、残りは選択した選択肢です。したがって、Pythonを選択した場合、私の応答はPython列に記録され、bashでは記録されず、その逆も同様です。 ID Gender Python Bash R JavaScript C++ 0 Male Python nan nan JavaScript nan 1 Female nan nan R JavaScript C++ 2 Prefer not to say Python Bash nan nan nan 3 Male nan nan nan nan nan 私が欲しいのは、Genderレコードの下の各カテゴリーのインスタンスの数を返すテーブルです。したがって、5000人の男性がPythonで、3000人の女性がJSでコーディングされている場合、私はこれを取得する必要があります。 Gender Python Bash R JavaScript C++ Male 5000 1000 800 …

4
2列のリストを行単位で効率的に比較する
次のようなPandas DataFrameがある場合: import pandas as pd import numpy as np df = pd.DataFrame({'today': [['a', 'b', 'c'], ['a', 'b'], ['b']], 'yesterday': [['a', 'b'], ['a'], ['a']]}) today yesterday 0 ['a', 'b', 'c'] ['a', 'b'] 1 ['a', 'b'] ['a'] 2 ['b'] ['a'] ... etc しかし、約10万のエントリがあるため、これらのリストの追加と削除を2つの列で行ごとに見つけようとしています。 それはこの質問に匹敵します:パンダ:リストの列をDataFrameで行ごとにパンダ(forループではない)と比較する方法は? しかし、私は違いを見ています、そしてPandas.apply方法はそれほど多くのエントリのためにそれほど速くないようです。これは私が現在使用しているコードです。方法:Pandas.applynumpy's setdiff1d additions = df.apply(lambda row: np.setdiff1d(row.today, …

3
パンダで2つのgeodataframeを使用して最も近い距離を取得する
これが私の最初のgeodatframeです: !pip install geopandas import pandas as pd import geopandas city1 = [{'City':"Buenos Aires","Country":"Argentina","Latitude":-34.58,"Longitude":-58.66}, {'City':"Brasilia","Country":"Brazil","Latitude":-15.78 ,"Longitude":-70.66}, {'City':"Santiago","Country":"Chile ","Latitude":-33.45 ,"Longitude":-70.66 }] city2 = [{'City':"Bogota","Country":"Colombia ","Latitude":4.60 ,"Longitude":-74.08}, {'City':"Caracas","Country":"Venezuela","Latitude":10.48 ,"Longitude":-66.86}] city1df = pd.DataFrame(city1) city2df = pd.DataFrame(city2) gcity1df = geopandas.GeoDataFrame( city1df, geometry=geopandas.points_from_xy(city1df.Longitude, city1df.Latitude)) gcity2df = geopandas.GeoDataFrame( city2df, geometry=geopandas.points_from_xy(city2df.Longitude, city2df.Latitude)) 市1 City Country Latitude Longitude …

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