1. 程式人生 > >pandas中一列含有多種資料型別的轉換:科學計演算法轉浮點數、字元對映

pandas中一列含有多種資料型別的轉換:科學計演算法轉浮點數、字元對映

import pandas as pd
import re

def getNum(x):
    """
    科學計數法和字元轉浮點數
    """
    if re.findall(r'\d+\.\d+E\+',x):
        return "%.f" % float(x)
    elif x=="C":
        return 1
    else:
        return x
        
        
        
df = pd.DataFrame({"x":[2030,1.11002E+11,2030,1.11002E+11,"C"]})


df["x
"] = df["x"].astype("str") df["x"] = df["x"].apply(getNum) df["x"] = pd.to_numeric(df["x"]) df["x"] = df["x"].astype("int64")