Python 使用数组指定列值
我试图将值分配给特定的列,但在本例中,列名和值出现在数组中 下面是我的代码 但是Col-1没有被分配1,23,3 请帮助我在下面的代码中识别问题Python 使用数组指定列值,python,python-3.x,pandas,Python,Python 3.x,Pandas,我试图将值分配给特定的列,但在本例中,列名和值出现在数组中 下面是我的代码 但是Col-1没有被分配1,23,3 请帮助我在下面的代码中识别问题 df = pd.DataFrame(columns=['Col-1', 'Col-2']); key = ['Col-1'] v= [1,23,3] df[key] = [v] 输出 Col-1 Col-2 Col-3 0 1 2 NaN 1 23 3 NaN 2 3 4
df = pd.DataFrame(columns=['Col-1', 'Col-2']);
key = ['Col-1']
v= [1,23,3]
df[key] = [v]
输出
Col-1 Col-2 Col-3
0 1 2 NaN
1 23 3 NaN
2 3 4 NaN
输出
Col-1 Col-2 Col-3
0 1 2 NaN
1 23 3 NaN
2 3 4 NaN
还有一种方法 使用转置列表并使其成为数据帧
df = pd.DataFrame(columns=['Col-1', 'Col-2', 'Col-3'])
key = ['Col-1', 'Col-2']
v = [[1, 23, 3], [2, 3, 4]]
df[key] = pd.DataFrame(list(map(list, zip(*v))))
print(df)
还有一种方法 使用转置列表并使其成为数据帧
df = pd.DataFrame(columns=['Col-1', 'Col-2', 'Col-3'])
key = ['Col-1', 'Col-2']
v = [[1, 23, 3], [2, 3, 4]]
df[key] = pd.DataFrame(list(map(list, zip(*v))))
print(df)
它应该是
df[key[0]]=v
您的第一个解决方案不是动态的。如果我想在df=pd.DataFrame(columns=['Col-1'、'Col-2'、'Col-3'])下面做些什么呢;key=['Col-1','Col-2']v=[1,23,3],[2,3,4]]df[key]=[v]
在当前情况下,列名和值都存在于数组中。如果它的硬编码意味着共享的链接将有助于您的预期输出是什么?它应该是df[key[0]]=v
您的第一个解决方案不是动态的。如果我想在df=pd.DataFrame(columns=['Col-1'、'Col-2'、'Col-3'])下面做些什么呢;key=['Col-1','Col-2']v=[1,23,3],[2,3,4]]df[key]=[v]
在当前情况下,列名和值都存在于数组中。如果它的硬编码意味着共享任何链接都会有帮助,那么您的预期输出是什么?这是预期的结果。但是我想知道除了循环还有其他选择吗?这是预期的结果。但我想知道除了循环还有其他选择吗