我目前有两个具有两个匹配列的数据帧.例如 :
带有列的数据框1:A,B,C
带有列的数据框2:A
我想保留第一个数据框中具有A包含的值的所有行.例如,如果df2和df1是:
df1
A B C
0 1 3
4 2 5
6 3 1
8 0 0
2 1 1
df2
?
4
6
1
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下,我只想保留df1的第二行和第三行.我尝试这样做,但它没有工作,因为两个数据帧都相当大:
for index, row in df1.iterrows():
counter = 0
for index2,row2 in df2.iterrows():
if row["A"] == row2["A"]:
counter = counter + 1
if counter == 0:
df2.drop(index, inplace=True)
Run Code Online (Sandbox Code Playgroud) 所以,我对Haskell(以及一般的编程)有点新意,我一直试图解决问题.我想创建一个函数,它有一个输入2个字母数字(类型字符串),只有两个字母数字长度相同且只有1个不同的字符时才返回True.所以,例如,如果输入是块和黑色,我会得到真,但如果输入是黑色和刹车,我会得到假.我尝试用递归来做这件事,但我失败了.我需要这个函数,因为我想用它来检查我正在处理的程序中的一些输入.
任何帮助表示赞赏,谢谢你的时间.
所以,我想将C代码的一部分转换为Haskell.我在C中编写了这个部分(这是我想要做的简化示例),但作为我在Haskell中的新手,我无法真正使它工作.
float g(int n, float a, float p, float s)
{
int c;
while (n>0)
{
c = n % 2;
if (!c) s += p;
else s -= p;
p *= a;
n--;
}
return s;
}
Run Code Online (Sandbox Code Playgroud)
有人有任何想法/解决方案吗?
我目前正在关注关于熊猫的Wes McKinneys教程,我想知道是否有可能在其中做某件事.我将用一个例子解释一下:我有一个数据框:
A B C
0 1 foo data1
1 5 foo2 data2
2 8 foo3 data3
3 6 foo data4
4 5 foo3 data5
5 3 foo2 data1
Run Code Online (Sandbox Code Playgroud)
我想将以前的数据帧转换为一个新的数据框,如下所示:
data1 data2 data3 data4 data5
foo 1 0 0 6 0
foo2 3 5 0 0 0
foo3 0 0 8 0 5
Run Code Online (Sandbox Code Playgroud)
另外,我不能两次使用相同的foo-data组合,所以我不关心覆盖值.
大熊猫有可能吗?
我一直在尝试在Haskell中创建一个函数,它包含一个由列表组成的列表和(听起来可能很简单)我希望这个函数检查输入是否是一个具有(m,n)维度的正确表.如果不是,它将返回(0,0).例如,如果我输入:
[[1,7,2,1],[2,2,7,8],[3,2,0,1]]
Run Code Online (Sandbox Code Playgroud)
我去拿:
(3,4)
Run Code Online (Sandbox Code Playgroud)
我需要这个功能来拒绝程序中的无效输入.