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