০.০১.০ সংস্করণ অনুসারে, আপনি যেভাবে সূচকটি ব্যবহার করে চেষ্টা করেছেন সেভাবে কলামগুলি কাটা যাবে.loc
:
df.loc[:, 'C':'E']
এর সমতুল্য
df[['C', 'D', 'E']] # or df.loc[:, ['C', 'D', 'E']]
এবং এর C
মাধ্যমে কলামগুলি প্রদান করে E
।
এলোমেলোভাবে উত্পন্ন ডেটা ফ্রেমের একটি ডেমো:
import pandas as pd
import numpy as np
np.random.seed(5)
df = pd.DataFrame(np.random.randint(100, size=(100, 6)),
columns=list('ABCDEF'),
index=['R{}'.format(i) for i in range(100)])
df.head()
Out:
A B C D E F
R0 99 78 61 16 73 8
R1 62 27 30 80 7 76
R2 15 53 80 27 44 77
R3 75 65 47 30 84 86
R4 18 9 41 62 1 82
C থেকে E পর্যন্ত কলামগুলি পেতে (দ্রষ্টব্য যে পূর্ণসংখ্যার কাটা বিপরীতে, 'E' কলামগুলিতে অন্তর্ভুক্ত রয়েছে):
df.loc[:, 'C':'E']
Out:
C D E
R0 61 16 73
R1 30 80 7
R2 80 27 44
R3 47 30 84
R4 41 62 1
R5 5 58 0
...
লেবেলের ভিত্তিতে সারি নির্বাচনের জন্য একই কাজ করে। এই কলামগুলি থেকে 'R6' এ সারিগুলি পান:
df.loc['R6':'R10', 'C':'E']
Out:
C D E
R6 51 27 31
R7 83 19 18
R8 11 67 65
R9 78 27 29
R10 7 16 94
.loc
এছাড়াও একটি বুলিয়ান অ্যারে গ্রহণ করে যাতে আপনি কলামগুলি নির্বাচন করতে পারেন যার অ্যারেতে সম্পর্কিত এন্ট্রি রয়েছে True
। উদাহরণস্বরূপ, df.columns.isin(list('BCD'))
রিটার্ন array([False, True, True, True, False, False], dtype=bool)
- কলামের নাম তালিকায় থাকলে সত্য ['B', 'C', 'D']
; মিথ্যা, অন্যথায়।
df.loc[:, df.columns.isin(list('BCD'))]
Out:
B C D
R0 78 61 16
R1 27 30 80
R2 53 80 27
R3 65 47 30
R4 9 41 62
R5 78 5 58
...
.ix
এটি কখনই অস্পষ্ট হিসাবে আপনি ব্যবহার করতে চান না । ব্যবহার করুন.iloc
বা.loc
যদি আপনার অবশ্যই।