選項1
列表理解和str.rsplit
pir2
pd.DataFrame(
pd.DataFrame([x.rsplit(' ', 1) for x in df['0'].values.tolist()])
)
0 1
0 Fuerte venta (0,00)*
1 Infraponderar (0,00)*
2 Neutral (14,00)*
3 Sobreponderar (2,00)*
4 Fuerte compra (11,00)*
選項2
使用np.core.defchararray.rsplit
pir1
pd.DataFrame(
np.core.defchararray.rsplit(df['0'].values.astype(str), ' ', 1).tolist()
)
0 1
0 Fuerte venta (0,00)*
1 Infraponderar (0,00)*
2 Neutral (14,00)*
3 Sobreponderar (2,00)*
4 Fuerte compra (11,00)*
定時
代碼如下
list
理解是最快的大,小大tasets。

pir1 = lambda d: pd.DataFrame(np.core.defchararray.rsplit(d['0'].values.astype(str), ' ', 1).tolist())
pir2 = lambda d: pd.DataFrame([x.rsplit(' ', 1) for x in d['0'].values.tolist()])
bos = lambda d: d['0'].str.rsplit(' ', n=1, expand=True)
vai = lambda d: pd.DataFrame(d['0'].str.rsplit(' ', 1).tolist())
results = pd.DataFrame(
index=pd.Index([10, 30, 100, 300, 1000, 3000]),
columns='pir1 pir2 bos vai'.split()
)
for i in results.index:
d = pd.concat([df] * i, ignore_index=True)
for j in results.columns:
stmt = '{}(d)'.format(j)
setp = 'from __main__ import d, {}'.format(j)
results.set_value(i, j, timeit(stmt, setp, number=100))
results.plot(loglog=True)
我想擴大=真,+1 – Vaishali
所以我.... { - : – piRSquared