আমার কাছে এই জাতীয় ডেটা ফ্রেম রয়েছে:
df = pd.DataFrame(data={
'col0': [11, 22,1, 5]
'col1': ['aa:a:aaa', 'a:a', 'a', 'a:aa:a:aaa'],
'col2': ["foo", "foo", "foobar", "bar"],
'col3': [True, False, True, False],
'col4': ['elo', 'foo', 'bar', 'dupa']})
আমি কল 1 এ ":" বিভক্ত হওয়ার পরে তালিকার দৈর্ঘ্য পেতে চাই, তারপরে আমি দৈর্ঘ্য> 2 লিখতে লিখতে মানগুলিকে ওভাররাইট করতে চাই অথবা 2 = দৈর্ঘ্য হলে মানগুলি ওভাররাইট না করে চাই।
আদর্শভাবে, যত তাড়াতাড়ি সম্ভব এক লাইনে।
বর্তমানে, আমি চেষ্টা করি তবে এটি মান ভঙ্গ করে।
df[['col1', 'col2', 'col3']] = df.loc[df['col1'].str.split(":").apply(len) > 2], ("", "", False), df[['col1', 'col2', 'col3']])
সম্পাদনা: কল 1 এ শর্ত সম্পাদনা 2: দুর্দান্ত এবং দ্রুত সরবরাহ করা সমস্ত উত্তরের জন্য আপনাকে ধন্যবাদ। আশ্চর্যজনক! EDIT3: 10 ^ 6 টি সারি সময়:
@ এনসেভ 3.2657 এস
@ জেজরেল 0.8922 এস
@ anky_91 1.9511s
col2নাকি চলছেcol1?