我使用的是Python 3.4和Windows 7.以下是我的第一个Dataframe示例:Sample Data
这是我的第二个DataFrame:Sample Data 2
我的目标是使用" RTID"作为我的钥匙。但是,正如我从另一个数据结构解析的数据所证明的那样,似乎存在重复的密钥。此外,该要求需要每个RTID具有唯一的事务类型。
我有更多这些数据框(其中一些也共享公共列标题名称)需要合并为一个内聚数据帧。每个行值的完整性都与其标题一起保持。重复的列名称应仅在最终产品中出现一次,相应的值按顺序附加每个相应的行(因此我最初考虑使用RTID列作为键)以及缺少或不适用的值 - 空白空间。我最初的想法是连接,但是,由于各种dtypes,我收到以下错误:
AssertionError: invalid dtype determination in get_concat_dtype
可以在此处找到:Pandas/Internals.py
@EdChum和@BrianPendleton对内存管理问题非常有帮助。
我想知道加入和合并是否可能是此特定上下文的有效用例。我欢迎对此提出反馈。
答案 0 :(得分:0)
我正在引用 pg。我的回答是{<3}}的188 。在回顾了所提供的各种方法之后,我能够实现最终产品。
引用上述两个示例数据源(并删除索引):
sample1 = pd.read_csv('sample_data.csv', dtype=str, error_bad_lines = False)
sample2 = pd.read_csv('sample2.csv', dtype=str, error_bad_lines = False)
sample_concat = pd.concat([sample1, sample2], keys = ['one', 'two'], ignore_index=True)
这产生了正确的输出。事实证明,我正在推翻这个问题。在此上下文中,行索引没有意义。 ignore_index = False
参数允许不保留串联轴上的索引。这很有用,因为我并没有寻求找到数据集的交集(理论上,在我正在争论的数据结构中,这一点并不明显)。