这是我的熊猫数据框架。我想通过提取a,b,c,d来修改第一列(System)的值。如何在python
中完成 System mem
/vol/a/ 10
/vol/b/ 20
/vol/c/ 30
/vol/d/ 40
答案 0 :(得分:3)
您可以使用.str.extract
:
In [11]: df.System.str.extract("/vol/(.*?)/", expand=False)
Out[11]:
0 a
1 b
2 c
3 d
Name: System, dtype: object
答案 1 :(得分:3)
可以通过多种方式完成,这里有一个
df['System'] = df['System'].str.split('/').str[-2]
System mem
0 a 10
1 b 20
2 c 30
3 d 40
选项2:
df['System'] = df.System.str.replace('[/vol/|/]', '')
Andy Hayden已经介绍了str.extract
答案 2 :(得分:2)
使用str.extract:
import pandas as pd
df = pd.DataFrame({'System': ['/vol/a/', '/vol/b/', '/vol/c/', '/vol/d/'], 'mem': [10, 20, 30, 40]})
df['new_column'] = df['System'].str.extract(r'([^/]+)/?$')
print(df)
这会产生
System mem new_column
0 /vol/a/ 10 a
1 /vol/b/ 20 b
2 /vol/c/ 30 c
3 /vol/d/ 40 d
答案 3 :(得分:0)
使用 <div *ngIf = "tran.tranType == 'R'; else elsetag">
Redeem
</div>
<ng-template #elsetag>
<div>
Earn
</div>
<ng-template>
,你可以在前面拥有尽可能多的东西。
rsplit