他の参照ファイルを使用して行値を.csvファイルにマップしようとしています。元.CSVは次のようになります。辞書で空のキー/値が生成される
PROBE,8988,8981,8878,8983
1371844,0.011,-0.018,-0.032,-0.034
1386013,0.034,0.225,-0.402,0.418
1390154,0.145,-0.108,-0.421,-0.048
1393851,-0.146,-0.026,-0.101,-0.011
私は辞書がこのように見えるようにするための基準.CSV:
PROBE, Title, Gene
1390154, Cellular, Becn1
1371844, Liver, Vcp
1393851, Kidney, Lypla2
1386013, Heart, Ube2d2
理想的には、私はこれを達成することができます
PROBE 8988 8981 8878 8983
Vcp 0.011 -0.018 -0.032 -0.034
Ube2d2 0.034 0.225 -0.402 0.418
Becn1 0.145 -0.108 -0.421 -0.048
Lypla2 -0.146 -0.026 -0.101 -0.01
これは私が試したものです:
"ValueError:重複するキーと値では置き換えできません"がスローされます。値セット:
{'': '', ' ': '', '1390154': 'Becn1', '1386013': 'Ube2d2', 'Probe ': 'Gene', '1371844': 'Vcp', '1393851': 'Lypla2'}
それは2つの空のキーと私の辞書を前に付加します:これはなぜ私はdictの印刷する場合、私が得るため
はしかし、私は、知っています。これらを手動で削除すると、df.replace({"PROBE":dict})が正常に動作し、すべて正常です。
私の質問はです。このスクリプトを変更して手動で前置鍵を削除する必要はありません。これを全体的に行うには良い方法がありますか?
私は喜んでそれを所有しますもしそうであれば、このばかな質問私は、Pythonので明確に新たなんだ:P
PSを:私は別の参照を使用して、また列をマップしたい場合.CSV
上記のコードの「行」を「col」に置き換えることはできますか?私はそれを試してみましたが、新しい値がマップされていない元のファイルを吐き出すだけです....
私は皆助けてくれてありがとう!
私はmagicalyあなたdictionnaryでこれらの「空」のキーを置くことができ、あなたのコード内で何も見えないので、私の推測では、あなたがこのために責任があるあなたのcsvファイルでいくつかの空行を持っているかもしれないということです。 空行がどこにあるかを見つけるために、行ごとに 'print'行[0]と行[2]をお勧めします。 – jadsq