python怎么只保留某列前几个数字

  统计/机器学习 Python    浏览次数:385        分享
0

比如

name              date 

   a              20110928

   b              20121124

   c              20130326

把date保留成

2011

2012

2013


谢谢

 

heyyyyy   2020-11-21 10:40



   2个回答 
0

假定你的文件是csv哈,你用pandas读取csv文件操作DataFrame就可以了,具体去查apply用法就懂了

import pandas as pd


def get_year(date):
    for i in range(4):
        date = date // 10
    return date


a = pd.DataFrame([['a', 20110928],
                   ['b', 20121124],
                   ['c', 20130326],])

a[1] = a.apply(lambda x: get_year(x[1]), axis = 1)
print(a)

输出:

   0     1
0  a  2011
1  b  2012
2  c  2013


SofaSofa数据科学社区DS面试题库 DS面经

eleve11   2020-11-24 23:54

0


import pandas as pd
df.date = df.date.apply(lambda x: str(x)[:4]) # 这里要看你原始date列的类型

解决了

SofaSofa数据科学社区DS面试题库 DS面经

stan   2020-12-02 15:50



  相关主题

Python 处理问题   2回答

引用报错ImportError: No module named stats   1回答

python倒序的range   1回答

如何将csv中多行变成一行   2回答

python里的<<或者>>符号是什么意思?   2回答

python如何读取元素中含有逗号的csv文件   1回答

print里的"%.2f"是什么意思?   1回答

有一个1000万行的dataframe   3回答

python怎么读取txt格式的数据文件?   1回答

print(__doc__)有什么用?   1回答

怎么用python批量生成含重复数值的数列?   1回答

请问python已知某个元素,怎么得到该元素在dataframe中的位置   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!