我已经对数据框的一列应用了一个函数,该列包含日期和年、月、日、时、分、秒,我想做的是将年、月、日分开,并将其放在一列中,同时将其放在另一列中,我的代码如下所示
def change_format(day):
if day != 'nan':
format_1 = datetime.strptime(day, "%a %b %d %H:%M:%S %z %Y")
new_day = format_1.strftime('%d/%m/%Y')
new_time = format_1.strftime('%H:%M:%S')
return new_day,new_time
concatenar['pubDate']=concatenar['pubDate'].apply(change_format)
到目前为止,在我的专栏中,它没有返回任何值
根据您的代码,不清楚第二列的位置。当前的apply函数应该返回一个列,其中每个条目都是一个元组。要将其解压为两列,必须指定要放置输出的两列,并且可以将apply()与pd.Series()一起再次使用
您可以阅读有关解包元组here列的更多信息
您可以使用
.tolist()
将元组输出转换为列表,然后使用pd.DataFrame()
构建包含2个必需列的数据框架,如下所示:使用
pd.DataFrame()
比pd.Series()
快得多。您可以参考其他一些帖子的this answer和this answer来比较使用pd.DataFrame()
和pd.Series()
构建新列的速度相关问题 更多 >
编程相关推荐