Pandas 编辑字段并将值附加到python dataframe列
我有以下数据框Pandas 编辑字段并将值附加到python dataframe列,pandas,dataframe,Pandas,Dataframe,我有以下数据框 Col1 Col2 Col3 123 name test 234 rest check 我要求发生以下事情 Col1 Col2 Col3 test-123 name test test-234 rest check 将“test-”添加到数据框的Col1中的值中将数字转换为str,并添加字符串: Col1 Col2 Col3 123 name test 234
Col1 Col2 Col3
123 name test
234 rest check
我要求发生以下事情
Col1 Col2 Col3
test-123 name test
test-234 rest check
将“
test-
”添加到数据框的Col1
中的值中将数字转换为str
,并添加字符串:
Col1 Col2 Col3
123 name test
234 rest check
df['Col1'] = 'test-' + df['Col1'].astype(str)
print (df)
Col1 Col2 Col3
0 test-123 Name addr
1 test-234 test first
另一个解决方案:
df['Col1'] = df['Col1'].apply('test-{}'.format)
print (df)
Col1 Col2 Col3
0 test-123 Name addr
1 test-234 test first
计时:
df = pd.concat([df]*10000).reset_index(drop=True)
In [359]: %timeit 'test-' + df['Col1'].astype(str)
10 loops, best of 3: 29.4 ms per loop
In [360]: %timeit df['Col1'].apply('test-{}'.format)
100 loops, best of 3: 6.66 ms per loop
TypeError:ufunc“add”不包含签名类型与dtype匹配的循环('df['Col1']='test-'+df['Col1'])。astype(str)是的,两种解决方案都工作得很好。但第二种解决方案速度更快。