同时适用于numpy数组和pandas数据帧的列切片方法

2024-10-02 14:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

示例问题

假设我必须编写一个函数来返回datatable对象的第一列,但是我事先不知道这个对象是numpy2d数组还是pandas 2D dataframe。在

到目前为止试过了

以下函数适用于numpy数组,但不适用于pandas数据帧:

def get_first_column(array_or_dataframe):
    return array_or_dataframe[:, 0]

以下函数适用于pandas数据帧,但不适用于numpy数组:

^{pr2}$

摘要

有没有可能为列切片编写一个表达式,既适用于numpy数组,又适用于pandas数据帧?在


Tags: or数据对象函数numpy示例dataframepandas
1条回答
网友
1楼 · 发布于 2024-10-02 14:17:11

选项1
np.asarray

def get_first_column(array_or_dataframe):
    return np.asarray(array_or_dataframe)[:, 0]

选项2
try

^{pr2}$

演示

df = pd.DataFrame([[1, 2], [3, 4]])

print(get_first_column(df))

print(get_first_column(df.values))

[1 3]
[1 3]

相关问题 更多 >

    热门问题