Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在数据框中输入列表作为列值?_Python_Pandas - Fatal编程技术网

Python 如何在数据框中输入列表作为列值?

Python 如何在数据框中输入列表作为列值?,python,pandas,Python,Pandas,我有一个由4列(“1”、“2”、“3”和“4”)和大约700万行组成的数据框架。这些值是浮点数。我想为所有行添加一个值相同的列,其中该值是一个列表。目标是在包含浮点数的列和包含列表的列之间进行乘法,因此我获得了不再统一的新列表,因为它们与不同的值相乘 你知道如何使用列表作为值来获取此列,或者使用其他解决方案来实现此目标吗? 我目前有以下错误: df['list'] = [0.030, 0.040, 0.750, 0.130] ValueError: Length of values does n

我有一个由4列(“1”、“2”、“3”和“4”)和大约700万行组成的数据框架。这些值是浮点数。我想为所有行添加一个值相同的列,其中该值是一个列表。目标是在包含浮点数的列和包含列表的列之间进行乘法,因此我获得了不再统一的新列表,因为它们与不同的值相乘

你知道如何使用列表作为值来获取此列,或者使用其他解决方案来实现此目标吗? 我目前有以下错误:

df['list'] = [0.030, 0.040, 0.750, 0.130]
ValueError: Length of values does not match length of index

df['list'] = [[0.030, 0.040, 0.750, 0.130]]
ValueError: Length of values does not match length of index
例如:

df = pd.DataFrame({
    '1': [0.155, 0.138, ...],
    '2': [0.473, 0.307, ...],
    '3': [0.291, 0.490, ...],
    '4': [0.080, 0.064, ...],

})
想法:


可以使用此列表添加常量列表值:

df['list'] = [[0.030, 0.040, 0.750, 0.130] for _ in range(len(df))]

是什么阻止了你仅仅用你的值添加
df['list']=[[0.030,0.040,0.750,0.130],[0.030,0.040,0.750,0.130]
?如果您添加导致错误的代码会有所帮助。因为df['list']需要700万行,而不是两行。您是否尝试使用列表理解创建列表列表,然后将列添加到df?
df=pd.DataFrame({'1':[1,2],'list':[[1,2]]*2})
类似的内容,但用700万或
len(df)
替换最后2个可能会奏效。因此
df['list']=[[0.030,0.040,0.750,0.130]*len(df)
。这确实有效,但将浮点列与常量列相乘并不能:(
df['list'] = [[0.030, 0.040, 0.750, 0.130] for _ in range(len(df))]