如何提取数据帧列中所有数字的前 2 位数字?

Sam*_*amR 4 python dataframe pandas

我是 Python 新手(这是我的第一个作业),我试图取以下数据框 D 列的前两位数字,并将这两位数字放在新列 F 中:

import pandas as pd
import numpy as np
df1 = pd.DataFrame({'A' : [1, 1, 1, 4, 5, 3, 3, 4, 1, 4], 
                    'B' : [8, 4, 3, 1, 1, 6, 4, 6, 9, 8], 
                    'C' : [69,82,8,25,56,79,98,68,49,82], 
                    'D' : [1663, 8818, 9232, 9643, 4900, 8568, 4975, 8938, 7513, 1515],
                    'E' : ['Married','Single','Single','Divorced','Widow(er)','Single','Married','Divorced','Married','Widow(er)']})
Run Code Online (Sandbox Code Playgroud)

我在 Stack Overflow 上找到了几种可能的解决方案,并尝试应用它们,但没有一个对我有用。要么我收到一些错误消息(取决于我尝试应用的解决方案而不同)我没有得到我期望的结果。

Kum*_*mar 5

你可以使用类似的东西:

df1['f'] = df1.D.astype(str).str[:2].astype(int)
Run Code Online (Sandbox Code Playgroud)