2016-07-07 7 views
1

パンダの他の列に割り当てる:データフレームの列から文字列を取得AN私は列の入力データフレームを持って

Template     Template Name 
This is String 
This is String line 
This is Int 
This is Int Name  
This is String Name 
String Name is none 
Int is empty  

期待される出力データフレーム:私は以下試してみました

Template     Template Name 
This is String    String 
This is String line   String 
This is Int     Int 
This is Int Name   Int 
This is String Name   String 
String Name is none   String 
Int is empty    Int 

コード

all_data['Template Name'] = all_data['Template'].str.contains('String') 
    if all_data['Template'].str.contains('String').any() == True: 
       all_data['Template Name'] = 'String' 

しかし、すべてのセルに '文字列'が表示されます。どうかお手伝いください。

+0

この 'all_data [ 'テンプレート'] str.contains( '文字列')任意の()任意の行が真である場合、'なぜこれが、本当です。すべての行を 'String'に設定します。' Int'を設定するコードは表示されません。テンプレートは常にStringまたはIntを含んでいますか? – EdChum

答えて

2

私はあなたがextractが必要だと思う:

df['Template Name'] = df.Template.str.extract('(String|Int)', expand=False) 
print (df) 
       Template Template Name 
0  This is String  String 
1 This is String line  String 
2   This is Int   Int 
3  This is Int Name   Int 
4 This is String Name  String 
5 String Name is none  String 
6   Int is empty   Int 
関連する問題