Property
という名前の1つの列を持つDataset
オブジェクトで作業しています。下図に示すように、データが指定されているWolfram Mathematicaを使用して列のデータを修正する方法は?
:範囲に基づいて
、私は新しい値を代入し、最終的には問題の列全体を交換したいと思います。たとえば、範囲が500〜5000の場合、値1を取得したいと思います.5000〜50000の場合は、値2などを指定します。
Property
という名前の1つの列を持つDataset
オブジェクトで作業しています。下図に示すように、データが指定されているWolfram Mathematicaを使用して列のデータを修正する方法は?
:範囲に基づいて
、私は新しい値を代入し、最終的には問題の列全体を交換したいと思います。たとえば、範囲が500〜5000の場合、値1を取得したいと思います.5000〜50000の場合は、値2などを指定します。
私が理解しているように、データセットを変更することによって、データセットの1つの列を再コードしたいとします。私の知る限り、データセットは実際には可変型ではありません。それを受け入れることができれば、次に進む2つの方法があります。
まず、いくつかの人工データを取得しましょう。元のデータセットが変更されていないこと
ds[All, {2 -> f}]
注:
ds = Dataset[<|"x" -> RandomInteger[10],
"y" -> Interval[{10^#, 10^(# + 1)}]|> & /@ Range[5]]
は、今、私たちは機能f
と第二のカラムを再コーディングするとします。 (通常は良いことです) 試してみる機能の例を以下に示します。
ここで大きな問題は、新しいデータセットに全く同じ名前の列があり、解釈が全く異なることです。これが気になる場合は、代わりに新しい名前でデータセットに追加することができます。
Append[#, "y2" -> f[#y]] & /@ ds
編集:ドル記号について
何?完全な形のエントリーを表示しない限り、私は推測する必要があります。だから私は、次の人工的なデータが有用であるのに十分な私たちが近づいていることを推測されます:
ds = Dataset[<|"x" -> RandomInteger[10],
"y" -> Quantity[Interval[{10^#, 10^(# + 1)}], "USDollars"]|> & /@ Range[5]]
これはちょうど私達がf
に小さな変更を加える必要があることを意味:
f[Quantity[Interval[{x_, _}], _]] := Log[10, x]
その後、我々は交換することができますか前と同じように追加してください:
ds[All, {2 -> f}]
Append[#, "y2" -> f[#y]] & /@ ds
私たちは、「プロパティ」という名前の列の整数x
(私たちはMathematicaであるとして1から始まる)、x
に変換した範囲の列を取得するためのコードでグリッドstuff
をお持ちの場合は - である - 私はあなたが欲しいと思うものに以下の下:
Replace[#1[[1]] & /@ stuff, x_ :> IntegerLength[x[[1, 1]]] - 2, {1}]
これは、指定された列内のすべての範囲を取り、あなたの結果を与える範囲の下の部分の長さから2を減算します。
たとえば、私たちはあなたのサンプルを取る場合範囲:
stuff = {{$Interval[{500, 50000}], things, things},
{$Interval[{5000, 5000000}], things, things}}
をそしてを通してそれを実行する私たちのReplace
:
Replace[#1[[1]] & /@ stuff, x_ :> IntegerLength[x[[1, 1]]] - 2, {1}]
我々が得るOut:
の:
{1, 2}
することができます上記のReplace
を簡単に変更して、transfo現場でのカラムはstuff
である。
x [[1、_]]が$ Interval(例えば、{5000、5000000})のリストから取得するよう命名しました。 x [[1,1]]は、そのリストの最初の部分(範囲の下限)を取得します。 IntegerLengthは、このような整数の桁数を取得します。 – llvmastproject
こんにちは、データセット[All、 "Property"]を書いて、名前のものをカラムに置き換えようとしましたが、テーブルの最初の行と最初のカラムにアクセスしています。これを修正する手助けをしてください。 – HEART94
私はデータセットに精通していません。私が上に持っているものは、リストのリストで動作します。リストのリストのようにデータセットとインターフェースできますか? [All、 "Property"]データセットの結果のサンプルを教えていただけますか? – llvmastproject
「データセット」と同じ意味ですか?列を置き換えたり、新しい列を追加したり、再コード化された列を抜き出したりしますか? – Alan
はいデータセットタイプのデータです。問題のカラムをカラムに置き換えたい。私は私の全体のデータを "データセット"として – HEART94