我正在尝试在pandas数据帧的一行中保存一个命名元组n=NamedTuple(value1='x'=, value2='y')
。
问题是命名元组显示长度为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)
答案 0 :(得分:1)
我真的不明白你想要做什么,但是如果你想把那个命名元组放在新列的每一行(比如标量)那么你就不能依赖广播而应该改为自己复制:
df['nt'] = [n1 for _ in range(df.shape[0])]