小编lau*_*ngu的帖子

使用 pandas 优化字符串查询。大数据

我有一个数据框数据,其中有接近 400 万行。这是世界上城市的列表。我需要尽快查询城市名称。

我通过索引城市名称发现了 346 毫秒:

d2=data.set_index("城市",inplace=False)

timeit d2.loc[['巴黎']]

1 个循环,3 次最佳:每个循环 346 毫秒

这仍然太慢了。我想知道使用 group-by 是否可以实现更快的查询(如何进行这样的查询)。每个城市在数据框中大约有 10 行(重复城市)。网上查了好几天也没找到明确的解决办法

谢谢

python indexing optimization pandas

3
推荐指数
1
解决办法
1950
查看次数

在Perl中使用XML :: Twig时,方法"parent"也返回子项(不需要)

我需要从input.xml的第一个Element中显示"parent"

此外,我必须显示父母的身份证明

这是我的脚本Perl:C:\ lng> C:\ lng\uniq.pl

不幸的是,输出显示了子节点:

 <source id="berlin"> 
   <target id="karlsruhe" method="delete"/> 
   <target id="Stuttgart4" method="delete"/>
</source>
Run Code Online (Sandbox Code Playgroud)

预期的产出是:

<source id="berlin"> 
Run Code Online (Sandbox Code Playgroud)

请帮忙.

这是uniq.pl:

#!/usr/bin/perl -w
use warnings;
use XML::Twig;
my $t= XML::Twig->new;
my $v= XML::Twig::Elt->new;

$t-> parsefile ('input.xml');
$v= $t->first_elt('[@method]');

$w= $v->parent;
$w->print;
Run Code Online (Sandbox Code Playgroud)

输入文件:input.xml

<Germany>
 <airport id1="1">
  <plane id="3">
   <source id="berlin">
     <target id="karlsruhe" method="delete"/>
     <target id="Stuttgart4" method="delete"/>
   </source>
  </plane>
 </airport>
</Germany>
Run Code Online (Sandbox Code Playgroud)

perl perl-module parent ancestor xml-twig

1
推荐指数
1
解决办法
770
查看次数

无法使用XML :: Twig将方法next_sibling或next_elt与twig_handlers一起使用

我还是新用的XML::Twig.

从主程序中我寻找具有属性的元素 @method="create"

在子例程中player,我想找到具有属性的下一个元素/兄弟@method="modify".

这两种方法都在子程序player中因错误而失败Can't call method "gi" on an undefined value

my $modif1=$valeur->next_sibling('[@method="modify"]')

my $modif2=$valeur->next_elt('[@method="modify"]')->parent
Run Code Online (Sandbox Code Playgroud)

input.xwo示例:

<top id="World">

  <middle id="France" method="create">
  </middle>

  <middle id="Germany" method="modify">
  </middle>

</top>
Run Code Online (Sandbox Code Playgroud)

我的简单代码:

#!/bin/perl -w
use warnings;
use XML::Twig;

my $twig= new XML::Twig( 
  twig_handlers => {
    '[@method="create"]' => \&player
  } 
);                    

$twig->parsefile("input.xwo");
$twig->purge;  

sub player { 

  my ($twig, $valeur) = @_;                     

  my $modif1 = $valeur->next_sibling('[@method="modify"]');
  my $modif2 = $valeur->next_elt('[@method="modify"]')->parent;
  print "\nnextELT=" . $modif->gi …
Run Code Online (Sandbox Code Playgroud)

perl xml-twig xml-parsing

1
推荐指数
1
解决办法
751
查看次数