![](/img/trans.png)
[英]Select a pandas dataframe row where column has minimum value
[英]Select pandas dataframe where row and column== 0 to F
我有一个 dataframe A 的索引和列标记为 0 到 F (0-15) 的十六进制。
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 99 124 119 123 242 107 111 197 48 1 103 43 254 215 171 118
1 202 130 201 125 250 89 71 240 173 212 162 175 156 164 114 192
2 183 253 147 38 54 63 247 204 52 165 229 241 113 216 49 21
3 4 199 35 195 24 150 5 154 7 18 128 226 235 39 178 117
4 9 131 44 26 27 110 90 160 82 59 214 179 41 227 47 132
5 83 209 0 237 32 252 177 91 106 203 190 57 74 76 88 207
6 208 239 170 251 67 77 51 133 69 249 2 127 80 60 159 168
7 81 163 64 143 146 157 56 245 188 182 218 33 16 255 243 210
8 205 12 19 236 95 151 68 23 196 167 126 61 100 93 25 115
9 96 129 79 220 34 42 144 136 70 238 184 20 222 94 11 219
A 224 50 58 10 73 6 36 92 194 211 172 98 145 149 228 121
B 231 200 55 109 141 213 78 169 108 86 244 234 101 122 174 8
C 186 120 37 46 28 166 180 198 232 221 116 31 75 189 139 138
D 112 62 181 102 72 3 246 14 97 53 87 185 134 193 29 158
E 225 248 152 17 105 217 142 148 155 30 135 233 206 85 40 223
F 140 161 137 13 191 230 66 104 65 153 45 15 176 84 187 22
我通过这个做了 dataframe A
df_sbox=pd.DataFrame(from_a_2d_nparray)
df_sbox.index = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
df_sbox.columns = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F']
我想 select A 其中 index == 0 - F 和 column == 0 -F 并将其分配给二维矩阵。
在 1 条语句中选择“索引 == 0 - F 和列 == 0 -F”的 A 时可以使用什么?
您可以将hex
与pandas.DataFrame.loc
一起使用:
num1 = 10 #row 'A' in hex
num2 = 3 #column 3
df.loc[hex(num1)[2:].upper(), hex(num2)[2:].upper()]
#10
解释
您可以使用 python 内置 function hex
来获取 integer 的十六进制表示:
hex(12)
#0xc
由于我们对前两个字符不感兴趣,我们可以省略它们切片str
:
hex(12)[2:] #from index 2 onwards
#c
由于 dataframe 使用大写的索引和列,我们可以使用str.upper
来匹配它们:
hex(12)[2:].upper()
#'C'
额外的
您还可以使用标准格式说明符获取大写十六进制表示:
"{:X}".format(43)
#2B
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.