2016-03-23 27 views
1

私は文字列から浮動小数点数を取得しようとしていますが、それをスケールして古い値を新しいものに置き換えていますが、 "サンプル"変数はコピーであり、列の項目への参照ではないようです。あなたが失敗したものを、あなたはSeriesで行の値を反復している理由としてforeachを使用してpandasデータフレーム列を変更するにはどうすればよいですか?

for sample in AmpDataFrame['Sample']: 
    split_sample = sample.partition(' ') 
    try: 
     tempsample = float(split_sample[0]) 
     tempsample *= CurrentShunt_mVtoAmp 
     sample = str(tempsample) 
    except ValueError: 
     print("Not a float") 
+2

AmpDataFrame ['Sample'] =(AmpDataFrame ['Sample'])を実行できませんか?str.split( '').str [0] .astype(float)* CurrentShunt_mVtoAmp).astype(str) ' – EdChum

+0

はい、動作します。私は、私が想像していることは、Pythonのようなラムダを行うことができるかどうかはわかりませんでした。私は主にC#の開発者です。 – TheColonel26

+0

それはラムダではありません – EdChum

答えて

1

ので任意の変異は、コピーではないのビューで動作します。

AmpDataFrame['Sample'] = (AmpDataFrame['Sample'].str.split(' ').str[0].astype(float) * CurrentShunt_mVtoAmp).astype(str) 

だから、これはstr.splitを呼び出し、最初の分割を返し、あなたの定数値で浮くと乗算するキャストとstr

にそれをバックキャスト:あなたは全体のDFで次の手順を実行して、あなたが望むものを達成することができますほかに
関連する問題