2024-04-17 19:14:59 发布
网友
我使用熊猫阅读csv文件,第一列包含年份,第二列包含月份,第三列包含日期,第四列包含小时,第五列包含海平面(csv layout)
我想使用我导入的列来计算“datetime”或“timestamp”,然后将其保存为数据框中的新列。这个新列的格式应该与这里的示例类似:1985-01-01 01:00:00+00:00
^{}非常方便。假设列的名称恰当,则可以很容易地传入
给定此数据帧:
df = pd.DataFrame([[1973, 3, 1, 6, 740], [1973, 3, 1, 7, 750]], columns=list('ABCDE')) A B C D E 0 1973 3 1 6 740 1 1973 3 1 7 750
^{}如果需要:
df = df.rename(columns={'A': 'year', 'B': 'month', 'C': 'day', 'D': 'hour'}) year month day hour E 0 1973 3 1 6 740 1 1973 3 1 7 750
然后调用year、month、day、hour上的pd.to_datetime:
year
month
day
hour
pd.to_datetime
df['new_col'] = pd.to_datetime(df[['year', 'month', 'day', 'hour']])
year month day hour E new_col 0 1973 3 1 6 740 1973-03-01 06:00:00 1 1973 3 1 7 750 1973-03-01 07:00:00
总而言之:
df = pd.DataFrame([[1973, 3, 1, 6, 740], [1973, 3, 1, 7, 750]], columns=list('ABCDE')) df = df.rename(columns={'A': 'year', 'B': 'month', 'C': 'day', 'D': 'hour'}) df['new_col'] = pd.to_datetime(df[['year', 'month', 'day', 'hour']])
或^{}+^{}而不影响df:
df
df = pd.DataFrame([[1973, 3, 1, 6, 740], [1973, 3, 1, 7, 750]], columns=list('ABCDE')) df['new_col'] = pd.to_datetime( df[['A', 'B', 'C', 'D']] .rename(columns={'A': 'year', 'B': 'month', 'C': 'day', 'D': 'hour'}) )
注意df列A、B、C、D在日期时间调用之外不受影响:
A
B
C
D
A B C D E new_col 0 1973 3 1 6 740 1973-03-01 06:00:00 1 1973 3 1 7 750 1973-03-01 07:00:00
^{} 非常方便。假设列的名称恰当,则可以很容易地传入
给定此数据帧:
^{} 如果需要:
然后调用
year
、month
、day
、hour
上的pd.to_datetime
:总而言之:
或^{} +^{} 而不影响
df
:注意
df
列A
、B
、C
、D
在日期时间调用之外不受影响:相关问题 更多 >
编程相关推荐