在pandas数据帧的所有行中保存一个命名元组

时间:2018-05-04 11:06:13

标签: pandas namedtuple

我正在尝试在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)

1 个答案:

答案 0 :(得分:1)

我真的不明白你想要做什么,但是如果你想把那个命名元组放在新列的每一行(比如标量)那么你就不能依赖广播而应该改为自己复制:

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