Tôi có một cột trong Python
[1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
1 DataFrame có Boolean ________ 12/________ 13 giá trị, nhưng để tính toán thêm, tôi cần ____ 14/________ 15 đại diện. Có một cách nhanh chóng ____ 11/________ 17 để làm điều đó?
Đã hỏi ngày 29 tháng 6 năm 2013 lúc 17:53Jun 29, 2013 at 17:53
Simon Righleyimon RighleySimon Righley
4.2286 Huy hiệu vàng25 Huy hiệu bạc32 Huy hiệu Đồng6 gold badges25 silver badges32 bronze badges
4
Một cách ngắn gọn để chuyển đổi một cột của các giá trị boolean thành một cột số nguyên 1 hoặc 0:
df["somecolumn"] = df["somecolumn"].astype[int]
AMC
2.5847 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng7 gold badges12 silver badges34 bronze badges
Đã trả lời ngày 8 tháng 12 năm 2014 lúc 16:36Dec 8, 2014 at 16:36
6
Chỉ cần nhân DataFrame của bạn với 1 [int]
[1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
Đã trả lời ngày 5 tháng 6 năm 2016 lúc 21:54Jun 5, 2016 at 21:54
5
[1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
2 là [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
4 trong Python và tương tự như vậy [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
3 là ________ 15*:>>> True == 1
True
>>> False == 0
True
Bạn sẽ có thể thực hiện bất kỳ hoạt động nào bạn muốn trên chúng bằng cách chỉ xử lý chúng như thể chúng là số, vì chúng là số:
>>> issubclass[bool, int]
True
>>> True * 5
5
Vì vậy, để trả lời câu hỏi của bạn, không cần công việc - bạn đã có những gì bạn đang tìm kiếm.
* Lưu ý tôi sử dụng là một từ tiếng Anh, không phải từ khóa Python
>>> True == 1
True
>>> False == 0
True
2 - [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
2 sẽ không giống đối tượng như bất kỳ ngẫu nhiên [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
4.Đã trả lời ngày 29 tháng 6 năm 2013 lúc 17:58Jun 29, 2013 at 17:58
Gareth Lattygareth LattyGareth Latty
84K16 Huy hiệu vàng178 Huy hiệu bạc178 Huy hiệu đồng16 gold badges178 silver badges178 bronze badges
5
Câu hỏi này đề cập cụ thể đến một cột duy nhất, vì vậy câu trả lời hiện đang được chấp nhận. Tuy nhiên, nó không khái quát cho nhiều cột. Đối với những người quan tâm đến một giải pháp chung, hãy sử dụng những điều sau đây:
df.replace[{False: 0, True: 1}, inplace=True]
Điều này hoạt động cho một khung dữ liệu chứa các cột thuộc nhiều loại khác nhau, bất kể bao nhiêu là boolean.
Đã trả lời ngày 21 tháng 12 năm 2020 lúc 15:30Dec 21, 2020 at 15:30
Mike Trottamike TrottaMike Trotta
4164 Huy hiệu bạc6 Huy hiệu đồng4 silver badges6 bronze badges
0
Bạn cũng có thể làm điều này trực tiếp trên các khung
In [104]: df = DataFrame[dict[A = True, B = False],index=range[3]]
In [105]: df
Out[105]:
A B
0 True False
1 True False
2 True False
In [106]: df.dtypes
Out[106]:
A bool
B bool
dtype: object
In [107]: df.astype[int]
Out[107]:
A B
0 1 0
1 1 0
2 1 0
In [108]: df.astype[int].dtypes
Out[108]:
A int64
B int64
dtype: object
Đã trả lời ngày 29 tháng 6 năm 2013 lúc 18:17Jun 29, 2013 at 18:17
JeffjeffJeff
Huy hiệu vàng 121K2020 gold badges212 silver badges184 bronze badges
Sử dụng
>>> True == 1
True
>>> False == 0
True
5 để chuyển đổi boolean sang số nguyên:df["somecolumn"] = df["somecolumn"].view['i1']
AMC
2.5847 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng7 gold badges12 silver badges34 bronze badges
Đã trả lời ngày 8 tháng 12 năm 2014 lúc 16:36Apr 13, 2020 at 12:41
Chỉ cần nhân DataFrame của bạn với 1 [int]jezrael
Đã trả lời ngày 5 tháng 6 năm 2016 lúc 21:5486 gold badges1228 silver badges1163 bronze badges
0
[1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
2 là [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
4 trong Python và tương tự như vậy [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
3 là ________ 15*:df = pd.DataFrame[my_data condition]
Bạn sẽ có thể thực hiện bất kỳ hoạt động nào bạn muốn trên chúng bằng cách chỉ xử lý chúng như thể chúng là số, vì chúng là số:
df = df*1
Vì vậy, để trả lời câu hỏi của bạn, không cần công việc - bạn đã có những gì bạn đang tìm kiếm.Dec 24, 2019 at 20:27
1
* Lưu ý tôi sử dụng là một từ tiếng Anh, không phải từ khóa Python
>>> True == 1
True
>>> False == 0
True
2 - [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
2 sẽ không giống đối tượng như bất kỳ ngẫu nhiên [1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
4. Đã trả lời ngày 29 tháng 6 năm 2013 lúc 17:58
[Note: similar can be applied to any column name and values]
df.loc[df['type'] == 'FAKE', 'type'] = 0
df.loc[df['type'] == 'REAL', 'type'] = 1
Gareth Lattygareth LattySep 29, 2020 at 21:39
84K16 Huy hiệu vàng178 Huy hiệu bạc178 Huy hiệu đồngkaishu
Câu hỏi này đề cập cụ thể đến một cột duy nhất, vì vậy câu trả lời hiện đang được chấp nhận. Tuy nhiên, nó không khái quát cho nhiều cột. Đối với những người quan tâm đến một giải pháp chung, hãy sử dụng những điều sau đây:1 silver badge5 bronze badges
3
Điều này hoạt động cho một khung dữ liệu chứa các cột thuộc nhiều loại khác nhau, bất kể bao nhiêu là boolean.
[1]: data = pd.DataFrame[[[True, False, True], [False, False, True]]]
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
0Đã trả lời ngày 21 tháng 12 năm 2020 lúc 15:30Jan 17 at 14:35
Mike Trottamike TrottaSultanOrazbayev
4164 Huy hiệu bạc6 Huy hiệu đồng3 gold badges11 silver badges41 bronze badges