我正在嘗試將資料框中的日期列轉換為串列,但是當我將其切片時發生了一些事情,將日期轉換為 19 位整數。這是原始 df 以及列 dtypes:
CalendarDate BusinessDay
2 2022-05-04 1
3 2022-05-03 1
4 2022-05-02 1
5 2022-04-29 1
6 2022-04-28 1
7 2022-04-27 1
8 2022-04-26 1
CalendarDate datetime64[ns]
BusinessDay int64
dtype: object
這是將資料框列轉換為串列的函式:
def slice_single_dataframe_column_into_list(dataframe, column_name):
sliced_column = dataframe.loc[:,[column_name]].values.tolist()
print(sliced_column)
column_list = []
for element in sliced_column:
column_list.append(element)
return column_list
這是列被切片后列印的內容:
[[1651622400000000000], [1651536000000000000], [1651449600000000000], [1651190400000000000], [1651104000000000000], [1651017600000000000], [1650931200000000000]]
我嘗試將該 int 轉換為時間戳,但我得到“無效的爭論”。我只是不確定這里發生了什么。我希望串列中的專案看起來與資料框中的完全一樣。
uj5u.com熱心網友回復:
pd.to_datetime('1970-01-01').value回傳 UNIX 時間戳,df[datetimecolumn].values.tolist()似乎直接回傳 UNIX 時間戳。
tolist您可以通過直接呼叫 Series來避免。
def slice_single_dataframe_column_into_list(dataframe, column_name):
sliced_column = dataframe[column_name].tolist()
# ^^ Changes here
column_list = []
for element in sliced_column:
column_list.append(element)
return column_list
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472597.html
上一篇:如何在R中按因子計算間隔天數
