我从csv文件中读取的数据帧具有这样的列名
abc.def, ewf.asd.fkl, qqit.vsf.addw.coil
我想删除'.' 从所有的名称,并将其转换为
abcdef, eqfasdfkl, qqitvsfaddwcoil.
我尝试使用sub命令, sub(".","",colnames(dataframe))但是此命令取出了每个列名的第一个字母,并且列名更改为
bc.def, wf.asd.fkl, qit.vsf.addw.coil
任何人都知道这样做的另一个命令.我可以逐个更改列名,但是我有很多文件,每个文件中有30个或更多列.
再次,我想删除"." 从所有的名字.我试图这样做,所以我可以使用"sqldf"命令,这些命令不能很好地处理"."
谢谢您的帮助
我有一个名为的列Names,看起来像这样,我需要将它与不同的熊猫数据框中的其他列进行比较,该数据帧具有姓氏和名字,但不是像这样的首字母。我正在尝试将首字母从新列中的列中分离出来,使用空格作为分隔符,但可能需要对整个字符串执行此操作。我试过这个:
transpose_enron['lastname'], transpose_enron['firstname'], transpose_enron['middle initial'] = zip(*transpose_enron['Names'].apply(lambda x: x.split(' ', 1)))
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误
“ValueError:需要超过 1 个值才能解包”
0 ALLEN PHILLIP K
1 BADUM JAMES P
2 BANNANTINE JAMES M
8 BELFER ROBERT
Run Code Online (Sandbox Code Playgroud)
关于如何做到这一点的任何想法。
这是代码
a = np.array([[ 0, 1],
[ 3, 11],
[4,2]])
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的
a= a[a[0]>0,:]
Run Code Online (Sandbox Code Playgroud)
当我只有两个元素时,它可以正常工作,但除此之外,它还会引发错误。我试图做的是在第一列中,如果该值小于我需要删除整行的值。
所以预期的输出是
([ 3, 11],
[4,2]])
Run Code Online (Sandbox Code Playgroud)
我希望有一个可以概括的解决方案,即使每个项目有两个以上元素,例如
([2,3,4,5],
[8,2,4,6],
[2,4,9,1],
[5,3,2,0],)
Run Code Online (Sandbox Code Playgroud)
那么代码的应用将给出如下结果
([2,3,4,5],
[8,2,4,6],
[2,4,9,1],)
Run Code Online (Sandbox Code Playgroud)
有什么建议么。
以下是我的查询
Select Count(*)
from Table1 s
left join Table2 d
ON s.subjectid = d.subjectid
and s.PROJECTID = d.projectid
and s.SITEName = d.SITENAME
left join Table3 dev
on s.subjectid = dev.subjectid
and s.projectid = dev.projectid
and s.siteid = dev.siteid
Where s.isprod =1
and d.isprod =1
and dev.isprod = 1
and s.projectid =107
-- Output 301 ROWS
Run Code Online (Sandbox Code Playgroud)
现在,此查询返回给我301行,但是,如果我不使用Table3,那么联接将返回2203行,如下面的查询所示
Select Count(*)
from Table1 s
left join Table2 d
ON s.subjectid = d.subjectid
and s.PROJECTID = d.projectid
and s.SITEName = d.SITENAME
Where s.isprod =1 …Run Code Online (Sandbox Code Playgroud)