私はNFLシナリオの大きなデータセットを持っていますが、説明のために2つの観測値のリストに減らしてみましょう。このように:数値を文字列に変換するためのラムダの適用
data = [[scenario1],[scenario2]]
ここでは、データ・セットは、で構成されてものです:
data[0][0]
>>"It is second down and 3. The ball is on your opponent's 5 yardline. There is 3 seconds left in the fourth quarter. You are down by 3 points."
data[1][0]
>>"It is first down and 10. The ball is on your 20 yardline. There is 7 minutes left in the third quarter. You are down by 10 points."
私はこのような文字列形式でデータを持つ任意のモデルを構築することはできません。ですから、これらのシナリオを定量的な値として新しい列(または必要ならフィーチャー)に再コード化したいと思います。
down = 0
yards = 0
yardline = 0
seconds = 0
quarter = 0
points = 0
data = [[scenario1, down, yards, yardline, seconds, quarter, points], [scenario2, yards, yardline, seconds, quarter, points]]
は今トリッキーな部分ですが、私は、シナリオ列からの情報から新しい列を移入する必要があり、いくつかの方法:私は、私は最初のデータフレームが離れて二乗し得るべきであると思いました。トリッキーなのは、たとえば、第2文で「相手の」という単語が存在する場合、それはヤードラインの番号が何であれ100を計算する必要があるということです。上記の
scenario1
変数では、100-5 = 95である必要があります。
最初はすべての数字を分けて単語を捨てるべきだと思ったが、上で指摘したように、実際に量的な値を正しく割り当てるにはいくつかの単語が実際に必要です。私はこのような微妙なことでラムダを作ったことはありません。あるいは、ラムダは正しい方法ではないでしょうか?私は任意/すべての提案に開放されています。補強のための
は、ここで私が入力した場合scenario1
から(見たいものです。
data[0][1:]
>>2,3,95,3,4,-3
はあなたに
うわー、それは非常に便利です!私は別のデータフレームを試し、どのパンが良く見えるか見てみましょう。私はそれをあなたの方法でdictsのリストで見始めている。 –
私は助けることができる嬉しい:) – Nelson
私はそれが動作すると確信していますが、エラーは "なしタイプ"のオブジェクトは属性を持っていない:グループ。データを調べたところ、「あなたは3歳になった」のように、いくつかのシナリオが本当にシンプルであることに気付きました。これに 'try' /' except'を使うべきですか?または0またはnaにデフォルトする別の方法がありますか?私はあなたのコードのいくつかが 'if'を持っていることに気付きました、おそらく私はすべてのコードでそれをタグ付けするべきでしょうか? –