petlテーブルの場合、空の値をゼロに置き換えるにはどうすればよいですか?petl - 空の値を0に置き換える方法
私は次のようなものを期待する: http://petl.readthedocs.io/en/latest/_modules/petl/transform/fills.html
をしかし運:
tb_probii = etl.fromcsv("data.csv").fill("score", "", 0)
は、ここでは、同様の機能のために見て、これがあれば/
petlテーブルの場合、空の値をゼロに置き換えるにはどうすればよいですか?petl - 空の値を0に置き換える方法
私は次のようなものを期待する: http://petl.readthedocs.io/en/latest/_modules/petl/transform/fills.html
をしかし運:
tb_probii = etl.fromcsv("data.csv").fill("score", "", 0)
は、ここでは、同様の機能のために見て、これがあれば/
私は、ヘルプグループ[email protected]と自身が完全に働いた機能で応答クリエイター電子メールで送信:あなたのansweため
tb_probii = etl.fromcsv("data.csv").replace("score", "", 0)
私は知りません最高の方法かどうか。私は実際にpetl
の存在を私の注意を引くためにあなたに感謝しています。
>>> import petl
>>> tb_probii = petl.fromcsv('trial.csv')
>>> tb_probii
+------+-------+
| team | score |
+======+=======+
| 'A' | '' |
+------+-------+
| 'B' | '25' |
+------+-------+
| 'C' | '35' |
+------+-------+
>>> from collections import OrderedDict
>>> mappings = OrderedDict()
>>> def f(s):
... if s == '':
... return '0'
... else:
... return s
...
>>> mappings['team'] = 'team'
>>> mappings['score'] = 'score', lambda s: f(s)
>>> tb_probii = petl.fieldmap(tb_probii, mappings)
>>> tb_probii
+-------+------+
| score | team |
+=======+======+
| '0' | 'A' |
+-------+------+
| '25' | 'B' |
+-------+------+
| '35' | 'C' |
+-------+------+
いくつかの説明: fieldmap
はOrderedDict
に含まれるマッピングのコレクションを実行します。これを試してみたら、新しいテーブルにマッピングしました。そのため、team
はそれ自体と同じようにマップされます。私は何とかそれを疑うが、あなたが同じテーブルを保っているなら、これは不必要かもしれない。各マッピングはタプルです。 score
のものは、score
が変換でそれ自身にマップされることを示します。 lambda
を使用する必要があるようです。ただし、lambdasにはif
ステートメントを含めることはできません。そのため私はラムダが呼び出すために関数f
を作成しました。私は、コンテナがOrderedDict
であり、列名で辞書順に並べられているので、列の順序が変更されたと思います。おそらくそれはOrderedDict
である必要はありませんが、これは私が文書で見つけたものです。
感謝を!私はあなたとペットを分かち合うことができてうれしいです!私は良いデータを争うツールを探しています。 Blazeも試してみることを検討してください。あなたが他の提案があるなら、私は聞いてみたいと思う。 – Selah
より良い方法を見つけたかどうか聞いてみました。とても楽しい学習体験。 –