繁体   English   中英

Select pandas dataframe 其中行和列== 0到F

[英]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 时可以使用什么?

您可以将hexpandas.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM