回答編集履歴

1

追記

2021/08/21 06:56

投稿

bsdfan
bsdfan

スコア4805

test CHANGED
@@ -9,3 +9,59 @@
9
9
  ```
10
10
 
11
11
  カラム名が重複していると色々面倒なことがあるので、重複をなくす方法を考える方がいいとは思います。
12
+
13
+
14
+
15
+ ### 追記
16
+
17
+ 私の環境では下記コードでちゃんと動作しています。
18
+
19
+ dtypeとか、index, columnsがあっているか確認してみてください。
20
+
21
+ ```python
22
+
23
+ import pandas as pd
24
+
25
+
26
+
27
+ b_df = pd.DataFrame(
28
+
29
+ {'c1': [True, True, True, False],
30
+
31
+ 'c2': [False, True, False, True],
32
+
33
+ 'c3': [True, True, False, True]},
34
+
35
+ index=['r1', 'r2', 'r3', 'r4'])
36
+
37
+
38
+
39
+ v_df = pd.DataFrame(
40
+
41
+ [[15,20, 3, 9, 16],
42
+
43
+ [7, 13, 1, 0, 22],
44
+
45
+ [3, 2, 10, 33, 4],
46
+
47
+ [28, 7, 11, 5, 19]],
48
+
49
+ index=['r1', 'r2', 'r3', 'r4'],
50
+
51
+ columns=['c1', 'c2', 'c1', 'c3', 'c2'])
52
+
53
+
54
+
55
+ print(v_df[b_df[v_df.columns]])
56
+
57
+ # c1 c2 c1 c3 c2
58
+
59
+ #r1 15.0 NaN 3.0 9.0 NaN
60
+
61
+ #r2 7.0 13.0 1.0 0.0 22.0
62
+
63
+ #r3 3.0 NaN 10.0 NaN NaN
64
+
65
+ #r4 NaN 7.0 NaN 5.0 19.0
66
+
67
+ ```