我只想知道如何根据每个行的id得到最后第5个值的和。
df:
id values
-----------------
a 5
a 10
a 10
b 2
c 2
d 2
a 5
a 10
a 20
a 10
a 15
a 20
预期df:
id values sum(x.tail(5))
-------------------------------------
a 5
我正在处理一个测试数据集,它是
print(df.head(10))
0 NaN
1 93/2; 99/3; 05/4;
2 NaN
3 NaN
4 NaN
5 NaN
现在,我希望将字符串"93/2;99/3;05/4“转换为更整洁的数据结构,以便进行后续分析。这样,第一步就会在";“
df= df.apply(lambda x: x.split(';'))
产额
0
我想要创建一个独特的水果数据集。我不知道每种水果下的所有种类(如颜色商店、价格)。对于每种类型,也可能存在重复行。是否有一种方法可以检测所有可能的复制,并以完全通用的方式捕获所有唯一的信息?
type val detail
0 fruit apple
1 colour green greenish
2 colour yellow
3 store walmart usa
4 price 10
5 NaN
6 fruit banana
7 colour yellow
8 fruit pear
9 fruit
如果我像下面这样制作一个数据帧:
In [128]: test = pd.DataFrame({'a':[1,4,2,7,3,6], 'b':[2,2,2,1,1,1], 'c':[2,6,np.NaN, np.NaN, 1, np.NaN]})
In [129]: test
Out[129]:
a b c
0 1 2 2
1 4 2 6
2 2 2 NaN
3 7 1 NaN
4 3 1 1
5 6 1 NaN
基本排序按预期执行。对列c进行排序可以适当地分隔NaN值。对列a和b执行多级排序时,会
目前正在开发python和菜鸟。我有一个由两列id和parent id组成的数据框。
id | parent
1 | A
2 | B
3 | C
4 | A
5 | A
6 | C
A | NaN
B | NaN
C | NaN
预期输出如下表所示:
id | parent | child
1 | A | NaN
2 | B | NaN
3 | C | NaN
4 | A | NaN
5 | A | NaN
6 | C | NaN
A
这是我正在生成的数据输出,它是一个5×5的相关矩阵。
A B C D E
A 1.00000 -0.277360 0.653920 -0.479600 0.513890
B -0.27736 1.000000 -0.790648 0.885801 -0.482763
C 0.65392 -0.790648 1.000000 -0.876451 0.672148
D -0.47960 0.885801 -0.876451 1.000000 -0.75
我试着根据ID来匹配来自引用和结果的数据,但是现在被卡住了一个小时。问题:
检查结果是否与引用相同,并在第四列匹配中记录布尔值。如果引用为NaN,但结果不是,则返回False。如果有多个ID,则返回,如果结果具有NaN值,但至少有一行与结果匹配,则返回匹配行的True。对于其余的行,不返回任何内容。
数据采集样本:
ID Reference Result
1 5 5
2 3 NaN
2 3
我想将列表扁平化,但保留NaN。当没有NaNs时,下面的基本代码可以工作:
l = [[1], [2, 3, 4], [5]]
[item for sublist in l for item in sublist]
> [1, 2, 3, 4, 5]
现在,如果我有以下情况,它就会崩溃:
import numpy as np
l = [[1], [2, 3, 4], np.nan, [5]]
[item for sublist in l for item in sublist]
> TypeError: 'float' object is not iterable
给定数据df,如下所示:
id room area check
0 1 A-102 world NaN
1 2 NaN 24 room name is not valid
2 3 B309 NaN NaN
3 4 C·102 25 room name is not valid
4 5 E_1089 hello room name is not valid
5 6
这是我的DataFrame:
col1 col2
A 5
B 3
C 8
D 2
E 9
F 9
G 4
H 9
I 3
J 5
K 7
L 3
M 7
我想把col2列往前移动5个单元。预期产出:
col1 col2
A na
B na
C na
D na
E na
F 5
G 3
H 8
I 2
J 9
K 9
L 4
M 9
na 3
na 5
na 7
na 3
na 7
我知道shift方法的存在,但是它改变了整个DataFrame