我想填充一个pandas dataframe从属性的类列表通过'append'生成。(不确定这是否是下面描述'allFoo'的正确术语。
class foo(object):
def __init__(self,input):
self.val=input
#in real life, there will be many more attributes in this class
allFoo=[];
for i in range(10):
allFoo.append(foo(i))
现在我想定义一个新的pandas Dataframe 'df',它从allFoo.瓦尔(而不是任何其他属性)中填充
比如这样:
df[0]=foo[0].val
df[1]=foo[1].val
等等
我来自matlab,在那里我会尝试这样的东西:dataFrame=allFoo[:].瓦尔
如何在python/pandas中实现这一点?
3条答案
按热度按时间jv4diomz1#
对于您的“精简”示例,下面的代码可以完成这项工作:
在一个稍微更一般的情况下,如果您确定可以从对象中获取所有字段值,则以下操作也可以正常工作:
在更一般的情况下,当对象可能包含数据框中需要的某些字段和不需要的其他字段时,无法绕过指定此字段列表。下面的代码可能会有所帮助:
寓意:当你不知道某个东西的“内置方法”时,列表理解是你的第一选择。
w8biq8rn2#
另一种选择是使用对象的dict
igsr9ssn3#
正如EdChum在评论中所说:
产出