Pandas 在数据帧的所有行中保存命名元组

Pandas 在数据帧的所有行中保存命名元组,pandas,namedtuple,Pandas,Namedtuple,我试图将命名元组n=NamedTuple(value1='x'=,value2='y')保存在数据帧的一行中 问题是,命名元组显示的长度为2,因为在我的示例中它有2个参数(value1和value2),所以它不能将其放入数据帧的单个单元格中 如何实现将命名元组写入数据帧行的每个调用中 df['columnd1']=n 例如: from collections import namedtuple import pandas as pd n = namedtuple("test", ['param

我试图将命名元组
n=NamedTuple(value1='x'=,value2='y')
保存在数据帧的一行中

问题是,命名元组显示的长度为2,因为在我的示例中它有2个参数(value1和value2),所以它不能将其放入数据帧的单个单元格中

如何实现将命名元组写入数据帧行的每个调用中

df['columnd1']=n

例如:

from collections import namedtuple
import pandas as pd

n = namedtuple("test", ['param1', 'param2'])

n1 = n(param1='1', param2='2')

df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df['nt'] = n1

print(df)

我真的不明白您想做什么,但如果您想将命名元组放在新列的每一行中(如标量),那么您不能依赖广播,而是应该自己复制它:

df['nt'] = [n1 for _ in range(df.shape[0])]

您可以创建一个小的
来代替命名的元组。您需要提供一个命名的元组吗?但是,您在这里想要实现什么呢
df['nt']=n1
n1
分配给整个列,这是您想要的吗?i、 e.您试图得到与pd.DataFrame({“A”:[1,2,3],“B”:[4,5,6],“nt”:[n1,n1,n1]})相同的结果。?在我上面的示例中,当
df['nt']=[n1]
熊猫是否将命名的元组转换为元组时,我仍然会得到一个错误?它似乎失去了它的名字。否则这个解决方案很好。我认为它确实是@Nickpick