输入:
Primary Key Phone_No
1 9999999999
2 999-999-9999
3 024-999-8913
输出应为:
Primary Key Phone_No String/Number
1 9999999999 Number
2 999-999-9999 String
3 024-999-8913 String
我的CSV文件有300万个数据。
如果有人可以帮助我在Pandas中编码,那将会很有帮助
答案 0 :(得分:0)
如果只有numeric
和string
值,我认为您可以to_numeric
与isnull
一起使用:
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
答案 1 :(得分:0)
您可以使用pandas.Series.str.isdigit
和numpy.where
:
>>> 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