2017-01-23 4 views

Antwort

0

helfen kann, ich glaube, Sie to_numeric mit isnull wenn nur numeric und string Werte verwenden:

mask = pd.to_numeric(df.Phone_No, errors='coerce').isnull() 
0 False 
1  True 
2  True 
Name: Phone_No, dtype: bool 

df['String/Number'] = np.where(mask, 'String','Number') 
print (df) 
    Primary Key  Phone_No String/Number 
0   1 9999999999  Number 
1   2 999-999-9999  String 
2   3 024-999-8913  String 
+0

Eine weitere Bedingung, wenn die Telefonnummer hat "-", "(" oder ")" dann es t betrachten o Nummer sein. –

+0

Eine weitere Bedingung, wenn die Telefonnummer "-", "(" oder ")" hat, dann wird es als Nummer betrachtet. –

0

Sie pandas.Series.str.isdigit und numpy.where verwenden können:

>>> df['String/Number'] = np.where(df['Phone_No'].str.isdigit(), 'Number', 'String') 
>>> df 
    PrimaryKey  Phone_No String/Number 
0   1 9999999999  Number 
1   2 999-999-9999  String 
2   3 024-999-8913  String 
+0

Eine weitere Bedingung, wenn die Telefonnummer "-", "(" oder ")" hat, wird dann als Nummer betrachtet. –

+0

passe bitte deine Frage danach an. –

Verwandte Themen