Python 将数字从列中拉出,将数字放在小数点的右边。。?
我在一个数据帧中有一个初始列,其中包含一些信息(项目的重量和计数),我正试图提取这些信息并进行一些计算 当我取出所需的数字时,如果我打印出存储序列的变量,一切看起来都很好 下面是我如何从初始列解析出数字的代码。我只是堆积了一些方法,并使用正则表达式来梳理它 [希望这很容易阅读,经过一些清理,我的目标重量数字在拆分后始终位于倒数第三位()//并且我的目标计数数字在拆分后始终位于倒数第二位]Python 将数字从列中拉出,将数字放在小数点的右边。。?,python,pandas,dataframe,text-parsing,Python,Pandas,Dataframe,Text Parsing,我在一个数据帧中有一个初始列,其中包含一些信息(项目的重量和计数),我正试图提取这些信息并进行一些计算 当我取出所需的数字时,如果我打印出存储序列的变量,一切看起来都很好 下面是我如何从初始列解析出数字的代码。我只是堆积了一些方法,并使用正则表达式来梳理它 [希望这很容易阅读,经过一些清理,我的目标重量数字在拆分后始终位于倒数第三位()//并且我的目标计数数字在拆分后始终位于倒数第二位] weight=df['Item'].str.replace('1.0gal','128oz').str.re
weight=df['Item'].str.replace('1.0gal','128oz').str.replace('YYY','').str.split()
count=df['Item'].str.replace('NN','').str.split().str[-2].replace('XX','1ct').str.extract('(\d+),expand=False).astype(np.float64)
变量“weight”返回一个类似[32,32,0.44,5.3,64]的序列,这就是我想要看到的
然而,当我试图将这些值设置到dataframe中的一个新列中时,它会将所有内容保留在小数点的右边;例如,我的新列显示为[32,32,0,5,64]
这也让我的计算专栏失去了意义
但是,如果我在一个单独的变量中进行计算并打印出来,它会显示正确(小数和全部)。但是将其分配给数据帧会使我的权重为零,并会导致此后的任何计算出错
非常感谢您的任何帮助 将序列值强制转换为字符串,
然后,在将值插入DataFrame列后,将该列转换为数字。比如说,
weight = weight.asType(str)
df['new_column'] = weight
df['new_column'] = pd.to_numeric(df['new_column'])
签出:示例数据将对您的问题有很大帮助。屏幕截图可能会有所帮助。@PGSystemTester。请不要鼓励发布截图,除非涉及gui或绘图!鉴于\d
不允许您提取浮点数,我将不得不要求实际的MCVE。