我有一个numpy.ndarray数据,如下所示,我想将其展平,以便可以对其进行操作。请在下面找到我的示例数据:
sample_data=[list([{'region': 'urn:li:region:9194', 'followerCounts': {'organicFollowerCount': 157, 'paidFollowerCount': 0}}, {'region': 'urn:li:region:7127', 'followerCounts': {'organicFollowerCount': 17, 'paidFollowerCount': 0}}])]
我尝试使用以下代码,但还没有成功:
sample.flatter()
所需的输出如下:
region organicFollowerCount paidFollowerCount
urn:li:region:9194 157 0
urn:li:region:7127 17 0
有谁能帮我做到这一点吗
以下是一种使用
pd.json_normalize
的方法:现在,将列表中的每个项目转换为数据帧:
正如@TheHuman橡皮擦所指出的,这种格式并不理想,但我们不能总是影响我们接收的数据的格式
使用Numpy的展平方法将无法按所需方式展平此数据。该方法只需将多维数据集展平为一维。您可以阅读文档here
还有几件事。首先,上面的示例数据不是ndarray,它只是一个python列表。实际上,由于您在方括号内调用
list()
,它是一个嵌套的字典列表。这真的不是一种存储这些信息的好方法,基于这种复杂的格式,您几乎没有选择可以很好地将其“展平”到您想要的表中如果您有许多这样的行,我将执行以下操作:
这将为您提供一系列的数据,但这仍然是一个丑陋的解决方案。实际上,这是一种非常不切实际的数据表示方式,您应该放弃它,换一种更好的方式
最后一件事:不要使用驼峰案例。这是一些语言(如Java)的标准实践,但Python也不是。使用
organic_follower_count
等代替organicFollowerCount
相关问题 更多 >
编程相关推荐