对大熊猫数据框中的列使用map()

Vishesh Shrivastav:

我的数据框中有一些列,我只想保留日期部分并删除时间部分。我列出了这些列:

list_of_cols_to_change = ['col1','col2','col3','col4']

我已经为此编写了一个函数。它采用列列表,并将dt.date应用于列表中的每一列。

def datefunc(x):
    for column in x:
        df[column] = df[column].dt.date

然后,我通过将此列表作为参数来调用此函数:

datefunc(list_of_cols_to_change )

我想使用诸如map()之类的方法来完成此任务。基本上使用将列作为参数并对其进行更改的函数。然后,我想使用map()将此功能应用于我拥有的列的列表。像这样:

def datefunc_new(column):
    df[column] = df[column].dt.date

map(datefunc_new,list_of_cols_to_change)

但是,这不起作用。我该如何工作?

耶斯雷尔:

最简单的是使用lambda功能apply

df = pd.DataFrame({'col1':pd.date_range('2015-01-02 15:00:07', periods=3),
                   'col2':pd.date_range('2015-05-02 15:00:07', periods=3),
                   'col3':pd.date_range('2015-04-02 15:00:07', periods=3),
                   'col4':pd.date_range('2015-09-02 15:00:07', periods=3),
                   'col5':[5,3,6],
                   'col6':[7,4,3]})

print (df)
                 col1                col2                col3  \
0 2015-01-02 15:00:07 2015-05-02 15:00:07 2015-04-02 15:00:07   
1 2015-01-03 15:00:07 2015-05-03 15:00:07 2015-04-03 15:00:07   
2 2015-01-04 15:00:07 2015-05-04 15:00:07 2015-04-04 15:00:07   

                 col4  col5  col6  
0 2015-09-02 15:00:07     5     7  
1 2015-09-03 15:00:07     3     4  
2 2015-09-04 15:00:07     6     3  

list_of_cols_to_change = ['col1','col2','col3','col4']
df[list_of_cols_to_change] = df[list_of_cols_to_change].apply(lambda x: x.dt.date)
print (df)
         col1        col2        col3        col4  col5  col6
0  2015-01-02  2015-05-02  2015-04-02  2015-09-02     5     7
1  2015-01-03  2015-05-03  2015-04-03  2015-09-03     3     4
2  2015-01-04  2015-05-04  2015-04-04  2015-09-04     6     3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用多列在大熊猫中转换大熊猫数据框

大熊猫数据框中包含列的总和列

大熊猫数据框中仅某些列的总和

替换大熊猫数据框中的列值

搜索在大熊猫列数据框

大熊猫使用另一个数据框列在数据框列中填充NaN

使用大熊猫数据框的列值创建迷你/子数据框

将大熊猫中的CSV文件导入大熊猫数据框

如何自动命名大熊猫数据框列?

大熊猫,如何按列值过滤数据框

大熊猫数据框的两列的唯一值

大熊猫跨列对大型数据框应用条件

大熊猫数据框中列表中的小写句子

大熊猫:根据一列中的相似值,使用多个数据框中的值填充数据框中的空列

在大熊猫数据框中替换大于1的值

优化大熊猫数据框中的计数值

大熊猫数据框中的变量移位

迭代时更新大熊猫中的数据框

大熊猫数据框中的布尔索引

大熊猫:使用键打印到csv数据框

大熊猫:从另一列修改数据框中的值

每行大熊猫数据框中的前k列具有值

大熊猫:从基于多个列的数据框中删除观察结果

当“ X列中的值”更改时,提取大熊猫数据框的块

根据列值比较大熊猫中的2个数据框

将相关矩阵转换为大熊猫中的3列数据框?

从具有多个日期/价格列的数据框中以大熊猫创建面板

如何使用并行插入语句在MySQL表中插入大熊猫数据框?

大熊猫:使用来自单独数据框中一个单元格的值填充数据框列中的所有行