【发布时间】:2020-01-08 02:49:37
【问题描述】:
我正在尝试根据类型拆分列。我想显示与文本分开的数字。
我尝试过不带循环添加它,但形状不同。因此,我求助于循环播放。然而,它只给了我所有领域的最后一个数字
Python 输入:
newdf = pd.DataFrame()
newdf['name'] = ('leon','eurika','monica','wian')
newdf['surname'] = ('swart38','39swart','11swart','swart10')
a = newdf.shape[0]
newdf['age'] = ""
for i in range (0,a):
newdf['age'] = re.sub(r'\D', "",str(newdf.iloc[i,1]))
print (newdf)
我希望年龄列显示38,39,11,10。然而,答案是所有"10" 都是最后一个字段。
输出:
name surname age
0 leon swart38 10
1 eurika swart39 10
2 monica 11swart 10
3 wian swart10 10
【问题讨论】:
-
如果您将
newdf['age']替换为newdf.loc[i, 'age'],您的代码将可以工作(尽管由于 for 循环,它不会非常高效)
标签: python-3.x pandas