2024-10-04 03:25:01 发布
网友
假设我有一个数据帧df作为
df
A B 1 V2 3 W42 1 S03 2 T02 3 U71
我希望有一个新列(或者在它的df结尾处,或者用它替换列B,这无关紧要),它只从列B中提取int。我希望列C看起来像
B
C
C 2 42 3 2 71
所以如果数字前面有一个0,比如03,那么我想返回3而不是03
我该怎么做?
可以转换为字符串并使用正则表达式提取整数。
df['B'].str.extract('(\d+)').astype(int)
为此,我编写了一个小循环,因为我的字符串不在数据帧中,而是在列表中。这样,您还可以添加一些if语句来说明浮动:
output= '' input = 'whatever.007' for letter in input : try : int(letter) output += letter except ValueError : pass if letter == '.' : output += letter
输出=浮点(输出)
或者你可以输入(输出)如果你喜欢。
假设总是有一个前导字母
df['B'] = df['B'].str[1:].astype(int)
可以转换为字符串并使用正则表达式提取整数。
为此,我编写了一个小循环,因为我的字符串不在数据帧中,而是在列表中。这样,您还可以添加一些if语句来说明浮动:
输出=浮点(输出)
或者你可以输入(输出)如果你喜欢。
假设总是有一个前导字母
相关问题 更多 >
编程相关推荐