我正在练习用Python创建一个具有以下条件的函数:
创建一个接受整数输入的函数(例如m,其中m在2到n之间,n是最大行数)此函数计算最近m天的“总和A”和“总和B”。第一个m天没有价值
原始数据:
V TP A B Sum A Sum B
3509 47.81
4862 48.406667 235353.2133
1810 49.26 89160.6
3824 49.263333 188382.9867
2209 47.386667 104677.1467
4558 45.573333 207723.2533
3832 44.396667 170128.0267
3778 43.75 165287.5
1005 44.64 44863.2
4047 43.76 177096.72
2201 44.383333 97687.71667 655447.7167 824912.6467
2507 45.156667 113207.7633 533302.2667 824912.6467
4392 44.4333 195151.2 444141.6667 1020063.847
3497 43.296667 151408.4433 255758.68 1171472.29
1181 43.07 50865.67 255758.68 1117660.813
1971 42.89 84536.19 255758.68 994473.75
4994 43.563333 217555.2867 473313.9667 824345.7233
2017 44.816667 90395.21667 563709.1833 659058.2233
2823 44.936667 126856.21 645702.1933 659058.2233
2774 45.13 125190.62 770892.8133 481961.5033
继续原始数据
Day
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
到目前为止,我所做的尝试是,它显示错误KeyError'A':
curret_period = int(input("enter days: "))
sumA = curret_period * ((df["A"] < df["A"]),'')
sumB = curret_period * ((df["B"] >= df["B"]),'')
print(sumA)
print(sumB)
我想知道有没有更好的方法来创建函数?我还想知道下面是不是我需要的
def function_name()
print()
m=10时的预期结果:
A B Sum A Sum B
0
1 235353.21333333332
2 89160.59999999999
3 188382.98666666663
4 104677.1466666667
5 207723.25333333333
6 170128.02666666667
7 165287.5
8 44863.200000000004
9 177096.72
10 97687.71666666666 655447.7167 824912.6467
11 113207.76333333334 533302.2667 824912.6467
12 195151.2 444141.6667 1020063.847
13 151408.4433333333 255758.68 1171472.29
14 50865.66999999999 255758.68 1117660.813
15 84536.19000000002 255758.68 994473.75
16 217555.28666666665 473313.9667 824345.7233
17 90395.21666666666 563709.1833 659058.2233
18 126856.21 645702.1933 659058.2233
19 125190.61999999998 770892.8133 481961.5033
有什么建议吗?先谢谢你
您可以利用
df.tail()
获取数据帧的最后m
行,然后简单地sum()
每个列我们还可以检查
m
是否不大于数据帧的长度,但是,即使没有这个长度,它也只会sum
整个数据帧相关问题 更多 >
编程相关推荐