リスト内のデータフレームごとに 1 列を変換します

エール19

以前はデータフレームを行ごとに分割する必要がありましたが、今では 65 のデータフレームの巨大なリストがあります。

df_list = split(df, list(df$group))
new_col_name = c("A", "B","group")
df_list = lapply(df_list, setNames, nm=new_col_name)
df_list = lapply(df_list, function(x) x[-1,])

列 A (リスト内のすべてのデータフレームにわたって) を数値ではなく係数に変換したい。

>head(df_list)

$`0`
        A          B    count
.3375E+03  .5295E+00        0
.3380E+03  .4412E+00        0
.3385E+03  .0123E+00        0

$`1`
       A           B    count
.3370E+03  .4939E+00        1
.3375E+03  .5295E+00        1
.3380E+03  .5679E+00        1

$`2
       A           B    count
.3370E+03  .4934E+00        2
.3375E+03  .5286E+00        2
.3380E+03  .5673E+00        2

等。

再現可能なデータを次に示します (簡単にするために、最初の変数を係数に変換しました)。

test = data.frame(A = c(".3375E+03", ".3380E+03", ".3385E+03"),
B = c(.5295E+00 , .4412E+00, .0123E+00),
C = c(0,0,0))

私は次のことを試しました:

for (i in df_list){ 
  i$A = as.numeric(as.character(i$A))
}

しかし、どういうわけか、これは実際には df_list に割り当てられません:

> str(df_list[[1]])
'data.frame':   549 obs. of  3 variables:
 $ A       : Factor w/ 551 levels ".3370E+03",".3375E+03",..: 2 3 4 5 6 7 8 9 10 11 ...

apply()または でそれを行う方法はおそらくありますがsapply()、私はそれを理解できません。

ネイサン・ウェルス

ではfor(i in ...)、それぞれiが要素のコピーです。コピーに割り当てているだけで、オリジナルには影響しません。特定のオブジェクトを参照するには、名前またはインデックスを使用するのが最善です。したがって、コードを機能させる方法は次のとおりです。

for (i in seq_along(df_list)) { 
  df_list[[i]]$A = as.numeric(as.character(df_list[[i]]$A))
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データフレームのリストを1つのデータフレームに変換します

分類Dev

Pandasデータフレームから取得した文字列を1行ごとに個別のリストに変換する

分類Dev

Python:データフレームの2つの列を1つの挿入リストに変換します

分類Dev

データ フレームのリストを、追加の列に df 名を持つ 1 つのデータ フレームに変換します。

分類Dev

辞書のリストを、キー用に1列、値用に1列のデータフレームに変換します

分類Dev

pandasデータフレーム内の類似の文字列値を1年ごとにカウントする

分類Dev

2つのデータフレーム列を1つのシリーズに変換します

分類Dev

キーと値を使用して2つのリストを1つの辞書に結合し、データフレームに変換します

分類Dev

データフレームの列をIDごとに1つシフトします

分類Dev

Pandasデータフレームを1つの列でグループ化して、リストの辞書に変換します

分類Dev

1列のみのパンダデータフレームを1Dリストに変換する

分類Dev

1列のデータフレームの行のリストを単純な文字列に変換する

分類Dev

1列のデータフレームの行のリストを単純な文字列に変換する

分類Dev

データフレームの列の1つに基づいて、data.frameを文字のリストに変換します。

分類Dev

テンプレートとして1つのデータフレームを別のデータフレームと行ごとにマージします

分類Dev

データフレーム全体を1つの長い列(ベクトル)に変換します

分類Dev

Pythonは、リストごとに1行のデータフレームを作成します(「再形成」なしの良い方法)

分類Dev

データフレーム内の1つの列のリスト列を作成します

分類Dev

Pythonデータフレームの1つの列をリストに変換する

分類Dev

dict値(リスト)を列として、その列がdictリストにある場合は1,0を使用して、Python辞書をデータフレームに変換します

分類Dev

データフレームを1行のデータフレームのリストに分割します

分類Dev

Rデータフレームの1つの列にリストします

分類Dev

データフレームのリストで列ごとに1の最小位置を見つけるにはどうすればよいですか?

分類Dev

リストを1列のパンダデータフレームに変換する

分類Dev

タプルのリストをパンダデータフレームの行から1つのタプルのリストに変換します

分類Dev

データフレーム内の1つの列の10行ごとに平均化し、他の項目から10行ごとにプルしますか?

分類Dev

構造を変更して、データフレームのリストを1つのデータフレームにリスト解除します

分類Dev

配列フィールドとして1つの共通値列を使用してデータフレームをJSONに変換します

分類Dev

2つの配列をRの1つのデータフレームに変換します

Related 関連記事

  1. 1

    データフレームのリストを1つのデータフレームに変換します

  2. 2

    Pandasデータフレームから取得した文字列を1行ごとに個別のリストに変換する

  3. 3

    Python:データフレームの2つの列を1つの挿入リストに変換します

  4. 4

    データ フレームのリストを、追加の列に df 名を持つ 1 つのデータ フレームに変換します。

  5. 5

    辞書のリストを、キー用に1列、値用に1列のデータフレームに変換します

  6. 6

    pandasデータフレーム内の類似の文字列値を1年ごとにカウントする

  7. 7

    2つのデータフレーム列を1つのシリーズに変換します

  8. 8

    キーと値を使用して2つのリストを1つの辞書に結合し、データフレームに変換します

  9. 9

    データフレームの列をIDごとに1つシフトします

  10. 10

    Pandasデータフレームを1つの列でグループ化して、リストの辞書に変換します

  11. 11

    1列のみのパンダデータフレームを1Dリストに変換する

  12. 12

    1列のデータフレームの行のリストを単純な文字列に変換する

  13. 13

    1列のデータフレームの行のリストを単純な文字列に変換する

  14. 14

    データフレームの列の1つに基づいて、data.frameを文字のリストに変換します。

  15. 15

    テンプレートとして1つのデータフレームを別のデータフレームと行ごとにマージします

  16. 16

    データフレーム全体を1つの長い列(ベクトル)に変換します

  17. 17

    Pythonは、リストごとに1行のデータフレームを作成します(「再形成」なしの良い方法)

  18. 18

    データフレーム内の1つの列のリスト列を作成します

  19. 19

    Pythonデータフレームの1つの列をリストに変換する

  20. 20

    dict値(リスト)を列として、その列がdictリストにある場合は1,0を使用して、Python辞書をデータフレームに変換します

  21. 21

    データフレームを1行のデータフレームのリストに分割します

  22. 22

    Rデータフレームの1つの列にリストします

  23. 23

    データフレームのリストで列ごとに1の最小位置を見つけるにはどうすればよいですか?

  24. 24

    リストを1列のパンダデータフレームに変換する

  25. 25

    タプルのリストをパンダデータフレームの行から1つのタプルのリストに変換します

  26. 26

    データフレーム内の1つの列の10行ごとに平均化し、他の項目から10行ごとにプルしますか?

  27. 27

    構造を変更して、データフレームのリストを1つのデータフレームにリスト解除します

  28. 28

    配列フィールドとして1つの共通値列を使用してデータフレームをJSONに変換します

  29. 29

    2つの配列をRの1つのデータフレームに変換します

ホットタグ

アーカイブ