对于熊猫数据帧的特定列,该列实际上是转换成BCD的16位数据。我只想提取特定行的14-8位并转换为BCD。下面的公式适用于如下的小数据帧。
df=pd.DataFrame({'Value':[128,128,436,465], 'Minutes':[1280,16384,1792,1536] })
df['Minutes_1']=df.Minutes.apply(int).apply(bin).str[2:].str[:-8].apply(int, base=2)
df
但当我申请时
df['Minutes_1']=df.Minutes.apply(int).apply(bin).str[2:].str[:-8].apply(int, base=2)
对于688126行的较大数据帧,我得到一个错误,说
基数为2的int()的文本无效:“”
Note: Few values of the row are
0, 256,512,768,1024,1280,1536,1792,2048,2304,4096,4352,4608,4864,
5120,5276,5632,5888,6144,6400,8192,8448,8704,8960,9216,9472,9728,9984,10240,10496,12288,
12544,12800,13056,13312,13568,13824,14080,14336,14592,16384,16640,16896,17152,17408,17920,
18176,18432,18688,20480,20736,20992,21248,21504,21760,22016,22272,22528,22784
错误如下所示
ValueError Traceback(最近调用最后一次)在1 df.LO_TIME_0_J2_0----
C:\ProgramData\Anaconda3\lib\site packages\pandas\core\series.py in apply(self、func、convert\u dtype、args、**kwds)3192-else:3193-values=self.astype(object).values-
熊猫/_libs/src\inference.pyx_libs.lib.map_infer()
C:\Program Data\Anaconda3\lib\site-包\熊猫\core\series.py在(x)3179#处理ufuns和lambdas 3180如果kwds或args而不是is实例(func,np.ufunc):-
ValueError:基为2的int()的文本无效:“”
请帮忙
您有一个值0,所以当您将此值转换为bin时,0变为0b0,因此使用提取str[2:]. str[:-8]
您没有值。
我建议您在提取与0之间应用zfill(16):
df['Minutes_1'] = df.Minutes.apply(int).apply(bin).str[2:].str.zfill(16).str[:-8].apply(int, base=2)
可能使用astype比apply(int)更快:
df['Minutes_1'] = df.Minutes.astype(int).apply(bin).str[2:].str.zfill(16).str[:-8].apply(int, base=2)
例子:
df = pd.DataFrame( {'Minutes': [1280, 16384, 1792, 1536, 0, 256]})
df['Minutes_1'] = df.Minutes.apply(int).apply(bin).str[2:].str.zfill(16).str[:-8].apply(int, base=2)
输出:
Minutes Minutes_1
0 1280 5
1 16384 64
2 1792 7
3 1536 6
4 0 0
5 256 1
如果没有zfill,则会出现错误:
ValueError:以2为基数的int()的文本无效:“”
我不知道如何选择特定的JSON数据。 如何更改此代码以使我只有id,而没有其他响应数据? 我在网上阅读,显然我需要使用结构?我不确定如何处理这个问题。 这将返回...
我有一个有4列的pandas DataFrame,我想创建一个只有其中3列的新DataFrame。这个问题类似于:从数据帧中提取特定列,但对pandas来说不是R。下面的代码不起作用,会引发错误,当然也不是pandasnic的方法。 熊猫式的方法是什么?
我正在编写一个脚本,将带有标头的大. xlsx文件减少到CSV中,然后根据标头名称编写一个新的CSV文件,其中仅包含所需的列。 我得到的错误是最后一段代码,它说 我肯定我忽略了一些愚蠢的东西,但是我已经阅读了熊猫网站上的留档,我仍然不知所措。我知道我误用了to_csv参数,但我似乎无法理解留档。 任何帮助都是赞赏的,谢谢!
问题内容: 我有一个包含6列的R数据框,并且我想创建一个仅包含三列的新数据框。 假设我的数据帧df,我想提列A,B和E,这是唯一的命令,我可以计算出: 有没有更紧凑的方法可以做到这一点? 问题答案: 如果您的data.frame被调用,则使用dplyr包df1: 也可以在不使用%>%管道的情况下将其写为:
用其他dataframe的列值替换dataframe的一列中的nan值时出现问题。下面是一个测试示例: 我想用其他dataframe中的特定值替换列名中的Nan值(如果其中有一些Nan值,则不是其他列),例如此dataframe中的Name2值: 我想得到的是: 这是此示例的测试代码: 然后我尝试了这三种方法,但都不起作用——我的数据帧始终保持Nan值。 你能告诉我哪里出错了吗?
在scala火花数据帧中是否有的替代方案。我想从火花数据帧的列中选择特定的行。例如,在R等效代码中的第100行