列表

详情


DA27. 统一最后刷题日期的格式

描述

现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
Continuous_check_in_days:最近连续签到天数
Number_of_submissions:提交代码次数
Last_submission_time:最后一次提交题目日期
运营同学发现最后一次提交题目日期这一列有各种各样的日期格式,这对于他分析用户十分不友好,你能够帮他输出用户ID、等级以及统一后的日期吗?(日期格式统一为yyyy-mm-dd)

输入描述:

数据集直接从当前目录下的Nowcoder.csv文件中读取。

输出描述:

输出用户ID、等级与最后提交日期三列,包括行号。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python 3 解法, 执行用时: 794ms, 内存消耗: 524288KB, 提交时间: 2022-07-25

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv',sep=',',dtype=object)
Nowcoder['Last_submission_time'] = pd.to_datetime(Nowcoder["Last_submission_time"],format="%Y-%m-%d")
print(Nowcoder[['Nowcoder_ID','Level','Last_submission_time']])

Python 3 解法, 执行用时: 801ms, 内存消耗: 524288KB, 提交时间: 2022-07-21

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv',sep=',', dtype=object)
pd.set_option('display.width', 300) # 设置字符显示宽度
pd.set_option('display.max_rows', None) # 设置显示最大行
pd.set_option('display.max_columns', None)

Nowcoder['Last_submission_time'] = pd.to_datetime(Nowcoder['Last_submission_time']).\
 dt.strftime('%Y-%m-%d')
print(Nowcoder[['Nowcoder_ID','Level','Last_submission_time']])

Python 3 解法, 执行用时: 804ms, 内存消耗: 524288KB, 提交时间: 2022-07-24

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv',sep = ',',dtype = object)
Nowcoder['Last_submission_time'] = pd.to_datetime(Nowcoder['Last_submission_time'],
                                             format = '%Y-%m-%d')
print(Nowcoder[['Nowcoder_ID','Level','Last_submission_time']])

Python 3 解法, 执行用时: 806ms, 内存消耗: 524288KB, 提交时间: 2022-07-21

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv',sep=',',dtype=object)
Nowcoder['Last_submission_time']=pd.to_datetime(Nowcoder['Last_submission_time'],format='%Y-%m-%d')
print(Nowcoder[['Nowcoder_ID','Level','Last_submission_time']])

Python 3 解法, 执行用时: 809ms, 内存消耗: 524288KB, 提交时间: 2022-08-03

import pandas as pd

df = pd.read_csv('Nowcoder.csv', sep=',', dtype=object)

df['Last_submission_time'] = pd.to_datetime(df.Last_submission_time)
df['Last_submission_time'] = df['Last_submission_time'].dt.strftime('%Y-%m-%d')

r = df[['Nowcoder_ID','Level','Last_submission_time']]
print(r)

上一题