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

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

4
パンダデータフレーム内の類似値の割合を計算する
1つのデータフレームがdfあり、2つの列があります。スクリプト(テキスト付き)とスピーカー Script Speaker aze Speaker 1 art Speaker 2 ghb Speaker 3 jka Speaker 1 tyc Speaker 1 avv Speaker 2 bhj Speaker 1 そして、私は以下のリストを持っています: L = ['a','b','c'] 次のコードで、 df = (df.set_index('Speaker')['Script'].str.findall('|'.join(L)) .str.join('|') .str.get_dummies() .sum(level=0)) print (df) 私はこのデータフレームを取得しますdf2: Speaker a b c Speaker 1 2 1 1 Speaker 2 2 …

3
[:]とiloc [:]での割り当てがパンダで異なる結果をもたらすのはなぜですか?
私はilocパンダで使用しているさまざまなインデックス付け方法にとても混乱しています。 1-dデータフレームを2-dデータフレームに変換しようとしているとしましょう。まず、次の1-dデータフレームがあります a_array = [1,2,3,4,5,6,7,8] a_df = pd.DataFrame(a_array).T そして、それをのサイズの2Dデータフレームに変換し2x4ます。2Dデータフレームを次のようにプリセットすることから始めます。 b_df = pd.DataFrame(columns=range(4),index=range(2)) 次に、forループを使用して、次のコードでa_df(1-d)をb_df(2-d)に変換します for i in range(2): b_df.iloc[i,:] = a_df.iloc[0,i*4:(i+1)*4] それは私に次の結果を与えるだけです 0 1 2 3 0 1 2 3 4 1 NaN NaN NaN NaN しかし、私がに変更b_df.iloc[i,:]したときb_df.iloc[i][:]。結果は次のように正しいです、これは私が欲しいものです 0 1 2 3 0 1 2 3 4 1 5 6 7 8 …

3
遅いパンダDataFrame MultiIndex reindex
次の形式のパンダDataFrameがあります。 id start_time sequence_no value 0 71 2018-10-17 20:12:43+00:00 114428 3 1 71 2018-10-17 20:12:43+00:00 114429 3 2 71 2018-10-17 20:12:43+00:00 114431 79 3 71 2019-11-06 00:51:14+00:00 216009 100 4 71 2019-11-06 00:51:14+00:00 216011 150 5 71 2019-11-06 00:51:14+00:00 216013 180 6 92 2019-12-01 00:51:14+00:00 114430 19 7 92 2019-12-01 …

1
Rでセクションとサブセクションを持つ列で構成されるデータフレームをピボットする方法
以下のデータフレームがあります: structure( list(ID = c("P-1", " P-1", "P-1", "P-2", "P-3", "P-4", "P-5", "P-6", "P-7", "P-8"), Date = c("2020-03-16 12:11:33", "2020-03-16 13:16:04", "2020-03-16 06:13:55", "2020-03-16 10:03:43", "2020-03-16 12:37:09", "2020-03-16 06:40:24", "2020-03-16 09:46:45", "2020-03-16 12:07:44", "2020-03-16 14:09:51", "2020-03-16 09:19:23"), Status = c("SA", "SA", "SA", "RE", "RE", "RE", "RE", "XA", "XA", "XA"), Flag …

2
フィルタリングされたバイナリデカルト積を生成する
問題文 特定の排他的条件でフィルタリングされた完全なバイナリデカルト積(TrueとFalseの特定の数の列のすべての組み合わせを含むテーブル)を生成する効率的な方法を探しています。たとえば、3列/ビットの場合n=3、完全なテーブルを取得します df_combs = pd.DataFrame(itertools.product(*([[True, False]] * n))) 0 1 2 0 True True True 1 True True False 2 True False True 3 True False False ... これは、次のように相互に排他的な組み合わせを定義する辞書によってフィルタリングされることになっています。 mutually_excl = [{0: False, 1: False, 2: True}, {0: True, 2: True}] ここで、キーは上の表の列を示しています。例は次のように読み取られます。 0がFalseで1がFalseの場合、2をTrueにすることはできません 0がTrueの場合、2をTrueにすることはできません これらのフィルターに基づいて、予想される出力は次のとおりです。 0 1 2 1 True …

5
リストで見つかったIDをpandasデータフレームの新しい列に追加する
次のデータフレームがあるとしましょう(整数の列と整数のリストの列)... ID Found_IDs 0 12345 [15443, 15533, 3433] 1 15533 [2234, 16608, 12002, 7654] 2 6789 [43322, 876544, 36789] また、IDの個別のリスト... bad_ids = [15533, 876544, 36789, 11111] それを考慮して、df['ID']列とインデックスを無視して、bad_idsリスト内のIDのいずれかがdf['Found_IDs']列で言及されているかどうかを確認します。これまでのコードは次のとおりです。 df['bad_id'] = [c in l for c, l in zip(bad_ids, df['Found_IDs'])] これは機能しますが、bad_idsリストがデータフレームよりも長く、実際のデータセットの場合、bad_idsリストはデータフレームよりもはるかに短くなります。bad_idsリストを2つの要素のみに設定した場合... bad_ids = [15533, 876544] 私は非常に人気のあるエラーを受け取ります(同じエラーで多くの質問を読みました)... ValueError: Length of values does not …

1
Pythonから生成された動的ループからnull値を削除する方法は?
私はこのようなデータフレームを持っています: ORDER_NO 2401 2504 2600 2020020 2019-12-04 2019-12-10 2019-12-12 2020024 2019-12-25 NaN 2019-12-20 2020034 NaN NaN 2019-12-20 2020020 2019-12-12 2019-12-15 2019-12-18 上記のデータフレームからXMLを作成しています。XMLに入力されているnull値を削除します。私のコードは、特定の列と行の値をXMLから削除する必要があります。 私のコード header = """<ORD>{}</ORD>""" body =""" <osi:ORDSTSINF types:STSCDE="{}"> <DTM>{}</DTM>""" cols = df.columns for row in df.itertuples(): with open(f'{row[1]}.xml', 'w') as f: f.write(header.format(row[1])) for c, r in zip(row[2:], cols[1:]): …

6
rの重複する行を識別してマークする
2つの列に基づいて重複行を識別してマークを付けたいのですが。行が重複していることだけでなく、どの行と重複しているかがわかるように、重複ごとに一意の識別子を作成したいと思います。以下のようなデータフレームがあり、重複したアイテムのペア(フィットとシット)と、重複していない他のペアがあります。アイテムのペアは複製されますが、それらに含まれる情報は一意です(たとえば、1つの行のValue1には1つの行の値がありますが、Value2とValue 3ではありません。 Value1ではありません) 現在のデータフレーム value1 value2 value3 fit sit [1,] "1" NA NA "it1" "it2" [2,] NA "3" "2" "it2" "it1" [3,] "2" "3" "4" "it3" "it4" [4,] NA NA NA "it4" "it3" [5,] "5" NA NA "it5" "it6" [6,] NA NA "2" "it6" "it5" [7,] NA "4" NA "it7" …
11 r  dataframe 

7
繰り返される「key = value」ペアのファイルをDataFrameに読み込みます
この形式のデータを含むtxtファイルがあります。最初の3行は何度も繰り返されます。 name=1 grade=A class=B name=2 grade=D class=A データを表形式で出力したいと思います。次に例を示します。 name | grade | class 1 | A | B 2 | D | A ヘッダーを設定してデータをループするのに苦労しています。これまでに試したのは、 def myfile(filename): with open(file1) as f: for line in f: yield line.strip().split('=',1) def pprint_df(dframe): print(tabulate(dframe, headers="keys", tablefmt="psql", showindex=False,)) #f = pd.DataFrame(myfile('file1') df = pd.DataFrame(myfile('file1')) pprint_df(df) それからの出力は …

6
複数の列としきい値に基づいてデータフレームをマージする
私は2つの持っているdata.frame(:ここでは、複数の共通の列とSをdate、city、ctry、および(other_)number)。 上記の列でそれらをマージしたいと思いますが、ある程度の違いは許容します。 threshold.numbers <- 3 threshold.date <- 5 # in days dateエントリ間の差が> threshold.date(日単位 )またはの場合> threshold.numbers、行をマージしたくありません。同様に、のエントリがcity他dfののエントリのサブストリングである場合city行をマージする必要があります。[誰もが実際の都市名をテストするために、より良いアイデアを持っている場合は類似性、私は。それを聞いて幸せになるだろう(そして、最初のキープdfさんのエントリをdate、cityそしてcountry両方の(other_)number列と内の他のすべての列df。 次の例を考えてみます。 df1 <- data.frame(date = c("2003-08-29", "1999-06-12", "2000-08-29", "1999-02-24", "2001-04-17", "1999-06-30", "1999-03-16", "1999-07-16", "2001-08-29", "2002-07-30"), city = c("Berlin", "Paris", "London", "Rome", "Bern", "Copenhagen", "Warsaw", "Moscow", "Tunis", "Vienna"), ctry = c("Germany", "France", "UK", "Italy", "Switzerland", "Denmark", …
11 r  dataframe 

4
要素の数が1と異なるグループでのDataFrameのフィルタリング
次の構造を持つDataFrameを使用しています。 import pandas as pd df = pd.DataFrame({'group':[1,1,1,2,2,2,2,3,3,3], 'brand':['A','B','X','C','D','X','X','E','F','X']}) print(df) group brand 0 1 A 1 1 B 2 1 X 3 2 C 4 2 D 5 2 X 6 2 X 7 3 E 8 3 F 9 3 X 私の目標は、1つのブランドがX関連付けられているグループのみを表示することです。グループ番号2には、brand Xに等しい2つの観測値があるため、結果のDataFrameから除外する必要があります。 出力は次のようになります。 group brand 0 1 A …

6
AttributeError: 'DataFrame'オブジェクトには属性 'ix'がありません
パンダデータフレームの.ix属性を使用して列をプルしようとすると、上記のエラーが発生します(例:df.ix [:, 'col_header'])。スクリプトは今朝の時点で機能していましたが、今日の午後、Pandasの新規インストールを使用して新しいLinux環境で実行しました。他の誰かが以前にこのエラーを見たことがありますか?私はここや他の場所で検索しましたが、見つかりません。

3
パンダのデータフレームから列の一部のみを溶かさない
次のサンプルデータフレームがあります。 df = pd.DataFrame(data = {'RecordID' : [1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5], 'DisplayLabel' : ['Source','Test','Value 1','Value 2','Value3','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2','Source','Test','Value 1','Value 2'], 'Value' : ['Web','Logic','S','I','Complete','Person','Voice','>20','P','Mail','OCR','A','I','Dictation','Understandable','S','I','Web','Logic','R','S']}) これはこのデータフレームを作成します: +-------+----------+---------------+----------------+ | Index | RecordID | Display Label | Value | +-------+----------+---------------+----------------+ | 0 | 1 | Source | Web | | 1 | 1 …

2
DataFrame、Python-3から上位N個の最小値を見つける方法
私はフィールド「年齢」のデータフレームの下にいます、データフレームからトップ3最小年齢を見つける必要があります DF = pd.DataFrame.from_dict({'Name':['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'Age':[18, 45, 35, 70, 23, 24, 50, 65, 18, 23]}) DF['Age'].min() リストのトップ2年齢、つまり18、23が欲しい、これを達成する方法は? 注:DataFrame-DFには年齢の重複が含まれます。つまり、18と23が2回繰り返され、一意の値が必要です。

5
前のn行に基づいて条件付きで新しい列を作成する
次のようにデータフレームを設定しました。 df <- data.frame("id" = c(111,111,111,222,222,222,222,333,333,333,333), "Location" = c("A","B","A","A","C","B","A","B","A","A","A"), "Encounter" = c(1,2,3,1,2,3,4,1,2,3,4)) id Location Encounter 1 111 A 1 2 111 B 2 3 111 A 3 4 222 A 1 5 222 C 2 6 222 B 3 7 222 A 4 8 333 B 1 9 333 A …

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