我有两只熊猫DataFrames包含的时间序列,必须连接为进一步处理。一个DataFrame包含本地化时间戳,另一个包含时间列中的NaT。连接时,列类型从datetime64[ns]更改为object,这阻碍了进一步的分析。
My goal:保持本地化的时间列,即使在与NaT连接之后也是如此。
示例代码
import pandas as pd
a = pd.DataFrame(
{
'DateTime': pd.date_range(
start='2022-10-10',
periods
我正在为历史学家编写一个脚本,允许他们将来自不同EXCEL表的数据与运行脚本的用户输入的数据进行比较。
用户通常输入的日期如下:
1765-04-05
然后用户的输入在Pandas中转换为DateTime,如下所示:
year=input()
y = pd.to_datetime(year)
这将创建一个<class 'pandas._libs.tslibs.timestamps.Timestamp'>,并可打印为:
Searching for events with exact date 1760-01-01 00:00:00 !
由于没有指示秒、分钟或小时,它们
有些Matplotlib方法在中需要几天的时间。datestr2num是一个转换器函数,但它被相关的pandas对象搞砸了:
In [3]: type(df.index)
Out[3]: pandas.tseries.index.DatetimeIndex
In [4]: type(df.index[0])
Out[4]: pandas.tslib.Timestamp
In [5]: mpl.dates.date2num(df.index)
Out [5]: ...
AttributeError: 'numpy.datetime64' object has no attribu
我需要处理大量CSV文件,其中时间戳始终是表示unix时间戳的字符串,以毫秒为单位。我还没有找到有效修改这些列的方法。
这就是我想出来的,然而,这当然只是重复列,我必须以某种方式把它放回原来的数据集。我确信在创建DataFrame时可以做到
import sys
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO
import pandas as pd
data = 'RUN,UNIXTIME,VALUE\n1,1447160702320,
我在剪贴板上阅读了一些数据
clipdf = pd.read_clipboard()
A B C D F
2013-01-01 0.000000 0.000000 -1.509059 5 NaN
2013-01-02 1.212112 -0.173215 0.119209 5 1.0
2013-01-03 -0.861849 -2.104569 -0.494929 5 2.0
2013-01-04 0.721555 -0.706771
我的应用程序涉及处理数据(包含在CSV中),这些数据的形式如下:
Epoch (number of seconds since Jan 1, 1970), Value
1368431149,20.3
1368431150,21.4
..
目前,我使用numpy loadtxt方法读取CSV (可以轻松地使用来自Pandas的read_csv )。目前,在我的系列文章中,我将按以下方式转换时间戳字段:
timestamp_date=[datetime.datetime.fromtimestamp(timestamp_column[i]) for i in range(len(timestamp_
我使用pandas.to_datetime来解析数据中的日期。默认情况下,Pandas使用datetime64[ns]表示日期,即使日期都是每天。我想知道是否有一种优雅/聪明的方法将日期转换为datetime.date或datetime64[D],这样,当我将数据写入CSV时,日期不会附加00:00:00。我知道我可以逐个元素地手动转换类型:
[dt.to_datetime().date() for dt in df.dates]
但这真的很慢,因为我有很多行,这有点违背了使用pandas.to_datetime的目的。有没有办法一次转换整个列的dtype?或者,pandas.to_datet
我正在Python pandas上进行两个csv文件的比较,但是在有5个日期列的csv文件中,我已经在read_csv方法中使用了parse_ date =' dateofbirth ','lastupdates','dateofjoin','dateofresign,'endoftrade‘,但它只解析出生日期,而不是csv文件中的所有列。
代码:
csv_pandas=pd.read_csv("path of the csv file",parse_date=['dateofbirth',
我想重新分配一系列日期的时间戳,以便它们在(例如)3天的频率上受到影响:
import pandas as pd
x = pd.date_range('01-01-2019', freq='1D', periods=7).floor('3D')
y = pd.date_range('01-01-2022', freq='1D', periods=7).floor('3D')
我期待“楼层”与第一次约会保持一致,并制作:
In[3]: x
Out[3]:
DatetimeIndex(['2