空白输入到Python中定义的函数

问题描述 投票:1回答:2

我有一个定义的功能来切片数据帧并进行类似的分析

def df_slice(startrow,endrow):
    do something...
    newdf = df[startrow,endrow]
    do something...
return newdf

通常用于分析df的前几行,我可以使用

df1= df_slice(0,10)

但是,如果我想对数据帧的最后5行进行切片怎么办?这样在功能中

newdf = df[-5:]

我不会使用df1= df_slice(-5,'')或像df1= df_slice(-5,)一样留空。

我该怎么办?

python function dataframe slice
2个回答
0
投票
df[startrow, endrow]

相当于

df.__getitem__((startrow, endrow))

df[startrow:]

相当于

df.__getitem__(slice(startrow, None))

这里是示例代码:

class MyCollection:
    def __getitem__(self, item):
        return item


my_collection = MyCollection()
print(my_collection[1, 2])
print(my_collection[1:])

输出:

(1, 2)
slice(1, None, None)  # start, stop, step

您注意到,省略切片元素表示None。所以你可以打电话

newdf = df_slice(-5, None)

参考:https://docs.python.org/3/library/functions.html#slice


1
投票

找到答案,只需输入None作为参数。

© www.soinside.com 2019 - 2024. All rights reserved.