- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 CSV 文件,简化后如下所示:
X,,Y,,Z,
Date,Time,A,B,A,B
2017-01-21,01:57:49.390,0,1,2,3
2017-01-21,01:57:50.400,4,5,7,9
2017-01-21,01:57:51.410,3,2,4,1
前两列是日期和时间。当我这样做时”
pandas.read_csv('foo.csv', header=[0,1])
我得到以下数据框:
X Unnamed: 1_level_0 Y Unnamed: 3_level_0 Z Unnamed: 5_level_0
Date Time A B A B
0 2017-01-21 01:57:49.390 0 1 2 3
1 2017-01-21 01:57:50.400 4 5 7 9
2 2017-01-21 01:57:51.410 3 2 4 1
暂时忽略列中烦人的未命名条目,我想将前两列合并为一个日期时间。所以我尝试使用 parse_dates 参数:
pandas.read_csv('foo.csv', header=[0,1], parse_dates={'datetime': [0,1]})
但我从中得到的只是回溯:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 646, in parser_f
return _read(filepath_or_buffer, kwds)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 401, in _read
data = parser.read()
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 939, in read
ret = self._engine.read(nrows)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 1585, in read
names, data = self._do_date_conversions(names, data)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 1364, in _do_date_conversions
self.index_names, names, keep_date_col=self.keep_date_col)
File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 2737, in _process_date_conversion
data_dict.pop(c)
KeyError: "('X', 'Date')"
我不确定为什么它会在 ('X', 'Date')
上遇到 KeyError
,因为这些肯定存在于列中。我真的不知道这是否是 pandas
中的一个错误,我应该报告(我使用的是 0.19.2),或者如果我只是不理解某些东西。有什么想法吗?
最佳答案
如果需要,您可以解决:
import datetime as dt
import pandas as pd
# read in the csv file
df = pd.read_csv('foo.csv', header=[0, 1])
# get a label for the funky column names
date_label, time_label = tuple(df.columns.values)[0:2]
# merge the columns into a single datetime
dates = [
dt.datetime.strptime('T'.join(ts) + '000', '%Y-%m-%dT%H:%M:%S.%f')
for ts in zip(df[date_label], df[time_label])]
# save the new column
df['DateTime'] = pd.Series(dates).values
更新:
我已提交bug和一个pull request对于这个问题。在 response错误,jreback (pandas 首席维护者)对示例中的多级 header 问题给出了相当详细的答复。我认为您已经意识到这些问题,但您可能想阅读他写的内容。在回复的最后,他有这样的内容可能会提供解决方法:
制作单个关卡在多关卡框架中没有什么用处。我可能会这样做:
In [25]: pandas.read_csv(StringIO(data), header=0, skiprows=1, parse_dates={'datetime':[0,1]})
Out[25]:
datetime A B A.1 B.1
0 2017-01-21 01:57:49.390 0 1 2 3
1 2017-01-21 01:57:50.400 4 5 7 9
2 2017-01-21 01:57:51.410 3 2 4 1
关于python - pandas.read_csv : how do I parse two columns as datetimes in a hierarchically-indexed CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42183926/
我有这样的源数据 Childid | Parent ID ------- | --------- 1 | NULL 2 | 1 3 | 1 4 | 2 5 | 4 6 | 5 7 | 6 我需要一个
我想显示父级选择,以便我可以选择父级以进行布局。 这个问题在 WordPress 论坛中没有得到解答。它可能是一个缺失或即将推出的功能。有人让它工作吗? register_post_type('foo
我有一个包含 3 级分层数据的表,但我的查询对级别的分类不正确。 我的查询: SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3 FRO
我需要一个文件的 URI(我将其放入资源目录中)。如果我使用 MyClass.class.getClassLoader().getResource(resource) 我明白 java.lang.Il
我刚开始在我的 Java 程序(为 Windows 7 制作)中使用 Jsch 进行 SSH 连接。我遇到了将私钥合并到我的程序中的问题。我使用以下代码: URL keyFileURL = Main.
所以我一直在处理一个有一些严重缺陷的自制 DB 框架,使用的理由是不使用 ORM 将节省执行的查询数量。 如果我从可连接对象层次结构的顶层选择所有可能的记录,那么在使用 ORM(例如 Hibernat
我估计了一个具有许多随机效应的复杂层次模型,但我真的不知道检查收敛性的最佳方法是什么。我有来自几百个人的复杂纵向数据,并为每个人估计了相当多的参数。正因为如此,我可以通过许多跟踪图进行目视检查。或者我
我已经对此进行了研究,并且知道我不是第一个提出问题的人,但我似乎无法理解它。我创建了一个简单的示例,如果有人可以提供缺失的链接,我认为它可以帮助我破解它! 我有一个区域表,其中包含层次结构中的大陆和国
好吧,这应该很容易,但我一直在撕扯我的头发。这是我的 POCO(它与机器零件有关,所以一个零件可以包含在父零件中): public class Part { public int ID { ge
我正在绑定(bind)到 SiteMapDataSource(分层)。 我正在重写 PerformDataBinding 以从数据源中获取数据。 页面加载时一切正常。但是,当我在页面上的任何位置执行回
我想从 ViewModel 中的数据动态创建 Hierarchical ContextMenu。 在 ViewMode 中,我定义了 ContextMenuAction: public class C
我正在评估 Backbone javascript framework用于在 TreeView 小部件中显示分层模型的项目(想想 Windows 文件浏览器)。 我喜欢 Backbone 对世界的看法
考虑一个具有 32 位虚拟地址和 1KB 页面的虚拟内存系统。每个页表条目都需要 32 位。希望将页表大小限制为一页。 需要多少级页表? 两个级别的表有 256 个条目;一个级别的表有 64 个条目。
我编写了一个 Oracle 层次结构查询,它将为我们提供特定员工的高层管理人员。 例如如果我们有示例 Emp 和 Manager 映射,例如: WITH emp_manager_mapping AS
考虑一个具有 32 位虚拟地址和 1KB 页面的虚拟内存系统。每个页表条目都需要 32 位。希望将页表大小限制为一页。 需要多少级页表? 两个级别的表有 256 个条目;一个级别的表有 64 个条目。
我想了解如何构建数据集以通过分层边缘捆绑进行可视化。 这是我的测试数据集 [ {"name":"Flare.Expertise.Informatics","imports":["F
我正在尝试使用 Python 和 xml.etree.ElementTree 处理 XML 文件,但遇到多个“分层”默认 namespace 的问题。我需要做的是更改一些节点的文本字段的内容,然后以相
我正在寻找一种将具有复杂层次结构的数据合并到pandas DataFrame中的方法。这种层次结构是由数据中不同的相互依存关系引起的。例如。有一些参数定义了数据的生成方式,然后有时间相关的可观测值,空
我正在实现类别结构,有些产品会有一级类别,但其他产品可能有两级或更多级别: /posts/cat2/post-sulg /posts/cat-1/sub-1/post-slug /posts/cat-
在关于人类可读 URL 的 now migrated question 中,我允许自己详细说明我的一个小爱好: When I encounter URLs like http://www.exampl
我是一名优秀的程序员,十分优秀!