如何在列中循环字符串,只有2个小数点,如100.000.0 ?



我有几个csv文件我必须处理我在其中一列上运行一些函数lambda它的元素形式为

1000.50.0

现在我只想在元素有2个小数点时运行函数lambda。有些csv文件没有小数点,有些文件有小数点。

基本上我想做的是

if(行/列包含两个小数点):运行Lambda

对熊猫来说最有效的方法是什么?有没有一种方法可以在干净的熊猫符号中做到这一点?

理想情况下,我希望在整个Dataframe上进行操作,而不是循环遍历每个单独的元素,如果csv的一个元素中有2个小数点,则在整个列中。也许只扫描列的第一个元素?

编写一个检查条件的函数,当条件为True时才运行第二个函数:

check_condition_then_run(input_string):
if input_string.count('.') == 2:
return run_complicated_function(input_string=input_string)
else:
return input_string

run(input_string=input_string):
pass

df = pd.DataFrame ... # etc
df['result'] = df['column_with_strings'].apply(check_condition_then_run)

不确定是否关心返回值,但这种方式存储在result列中。

相关内容

  • 没有找到相关文章

最新更新