Python 使用一个可用系列创建一个数据帧
我为玩家准备了一个熊猫系列,如下所示:Python 使用一个可用系列创建一个数据帧,python,pandas,Python,Pandas,我为玩家准备了一个熊猫系列,如下所示: 0 1 1 1 2 3 3 4 我的预期产出是: players teams night morning 0 1 [] [] [] 1 1 [] [] [] 2 3 [] [] [] 3 4 [] [] [] 这就是我尝试过的: players_ids = p
0 1
1 1
2 3
3 4
我的预期产出是:
players teams night morning
0 1 [] [] []
1 1 [] [] []
2 3 [] [] []
3 4 [] [] []
这就是我尝试过的:
players_ids = players_ids()
df = pd.DataFrame({'players': players_ids, 'teams': None, 'night': None, 'morning': None})
但我得到的是:
players teams night morning
0 1 None None None
1 1 None None None
2 3 None None None
3 4 None None None
但这只是显示
None
,而不是[]
。pandas中有什么简单的解决方法吗?我无法理解这个目的,但可以通过用空列表填充None
值来实现:
df = pd.DataFrame({'players': [1, 1, 3, 4], 'teams': None, 'night': None, 'morning': None})
df = df.applymap(lambda x: [] if not x else x)
结果:
players teams night morning
0 1 [] [] []
1 1 [] [] []
2 3 [] [] []
3 4 [] [] []
为什么您想要空的列表(或要填充的列表)?它们的类型应该是
object
,您也可以使用嵌套列表。为了进一步使用,我需要向其中添加一些值,然后进行一些计算。你的意思是完全跳过pandas?pandas在这里什么都没有,除非你能想出一种方法将标量值放入DataFrameI有纯python的解决方案,但我只是想知道它是如何与熊猫一起工作的,因为我的数据可能非常丰富,我甚至不知道这些字段应该代表什么,但似乎可以有单独的行,而不是聚合到列表中。你可能会认为如果你把事情汇总到列表中会更快,但是你错了(如果这确实是你的逻辑),谢谢你的回答。您的解决方案是我问题的正确答案,但是我添加列表和增加值的方法有点低效。