ছোট ডেটা-সেট (<150 ক্রস)
[''.join(i) for i in zip(df["Year"].map(str),df["quarter"])]
বা সামান্য ধীর কিন্তু আরও কমপ্যাক্ট:
df.Year.str.cat(df.quarter)
বড় ডেটা সেট (> 150 ক্রোস)
df['Year'].astype(str) + df['quarter']
আপডেট: সময় গ্রাফ পান্ডাস 0.23.4
আসুন এটি 200 কে সারি ডিএফ পরীক্ষা করুন:
In [250]: df
Out[250]:
Year quarter
0 2014 q1
1 2015 q2
In [251]: df = pd.concat([df] * 10**5)
In [252]: df.shape
Out[252]: (200000, 2)
হালনাগাদ: পান্ডাস 0.19.0 ব্যবহার করে নতুন সময়
সিপিইউ / জিপিইউ অপ্টিমাইজেশন ছাড়াই সময় নির্ধারণ (দ্রুত থেকে ধীরে ধীরে সাজানো):
In [107]: %timeit df['Year'].astype(str) + df['quarter']
10 loops, best of 3: 131 ms per loop
In [106]: %timeit df['Year'].map(str) + df['quarter']
10 loops, best of 3: 161 ms per loop
In [108]: %timeit df.Year.str.cat(df.quarter)
10 loops, best of 3: 189 ms per loop
In [109]: %timeit df.loc[:, ['Year','quarter']].astype(str).sum(axis=1)
1 loop, best of 3: 567 ms per loop
In [110]: %timeit df[['Year','quarter']].astype(str).sum(axis=1)
1 loop, best of 3: 584 ms per loop
In [111]: %timeit df[['Year','quarter']].apply(lambda x : '{}{}'.format(x[0],x[1]), axis=1)
1 loop, best of 3: 24.7 s per loop
সিপিইউ / জিপিইউ অপ্টিমাইজেশন ব্যবহারের সময় :
In [113]: %timeit df['Year'].astype(str) + df['quarter']
10 loops, best of 3: 53.3 ms per loop
In [114]: %timeit df['Year'].map(str) + df['quarter']
10 loops, best of 3: 65.5 ms per loop
In [115]: %timeit df.Year.str.cat(df.quarter)
10 loops, best of 3: 79.9 ms per loop
In [116]: %timeit df.loc[:, ['Year','quarter']].astype(str).sum(axis=1)
1 loop, best of 3: 230 ms per loop
In [117]: %timeit df[['Year','quarter']].astype(str).sum(axis=1)
1 loop, best of 3: 230 ms per loop
In [118]: %timeit df[['Year','quarter']].apply(lambda x : '{}{}'.format(x[0],x[1]), axis=1)
1 loop, best of 3: 9.38 s per loop
@ অ্যান্টন-ভিবিআর দ্বারা উত্তর অবদান
add(dataframe.iloc[:, 0:10])
উদাহরণস্বরূপ বলা যাক ?