記号「 - 」番号の後に

mintux:

私はこのような数字の列を含むデータフレームを持っています:

 1. 34.5
 2. 345.2
 3. 898.4-
 4. 87.4

...

 n. 847.3-

列は(20万行程度)サイクルが列全体た今、私は、コードを書かれている、STRです。前と数にSTRを変更 - 「」私は誰もが持って来るに速くする方法を知っているかどうか尋ねます

私のコード:

for i, row in frame.iterrows():
    Val=row[9]
    if row[9].find("-") > 0 :
        Val="-"+row[9].replace("-","")
        frame.iloc[i,9]=Val
frame[frame.columns[9]]=pd.to_numeric(frame[frame.columns[9]]
セルジュBallestaの:

あなたはの助けを借りてそれを直接行うことができますstr

frame.loc[frame[col_name].str[-1] == '-', col_name] = '-' + frame.loc[
                    frame[col_name].str[-1] == '-', col_name].str.replace('-', '')
frame[col_name] = frame[col_name].astype('float')

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=320938&siteId=1