【发布时间】:2014-11-05 22:07:38
【问题描述】:
我需要创建一个 pandas 系列,其元素每个都是 DataFrame 中一行的函数。具体来说,这是一个“元数据”列,它是一个 json 字符串,我想要一系列 dicts,它们是 json 加上其余的列。理想情况下,我想要与数据框的 map 方法等效的东西:
df.map(lambda row: json.loads(row.metadata).update({'timestamp':row.timestamp}))
(更新是破坏性的,不会返回新的字典,但你明白了)
编辑:你可以复制这个
metadata timestamp
"{'a':1,'b':2}" 000000001
"{'a':1,'c':2}" 000000002
"{'a':1,'c':2}" 000000003
并用
加载它In [8]: import pandas as pd
In [9]: pd.read_clipboard()
Out[9]:
metadata timestamp
0 {'a':1,'b':2} 1
1 {'a':1,'c':2} 2
2 {'a':1,'c':2} 3
所需的结果应该是带有此列表内容的 pandas.Series:
[{"a":1,"b":2,"timestamp":000000001}
{"a":1,"c":2,"timestamp":000000002}
{"a":1,"c":2,"timestamp":000000003}]
【问题讨论】:
-
你能发布一个小的示例数据集吗?理想情况下,这将是我们可以复制然后立即使用
pandas.read_clipboard()加载的内容(自己测试以检查)