0
我有它返回两个列表的功能,所以可以挽救那些在两个变量,如:解压功能为数据帧
list_a,list_b = my_function(input)
我想这直接保存到数据帧,这样的事情:
df[['list_a','list_b']] = my_function(input)
我得到了以下错误:
array is not broadcastable to correct shape
我有它返回两个列表的功能,所以可以挽救那些在两个变量,如:解压功能为数据帧
list_a,list_b = my_function(input)
我想这直接保存到数据帧,这样的事情:
df[['list_a','list_b']] = my_function(input)
我得到了以下错误:
array is not broadcastable to correct shape
使用
df['B'], df['C'] = my_function()
解压由my_function
返回列表的元组并分配名单df['B']
和df['C']
:
import pandas as pd
N = 5
def my_function():
return [10]*N, [20]*N
df = pd.DataFrame({'A':[1]*N})
df['B'], df['C'] = my_function()
产生
A B C
0 1 10 20
1 1 10 20
2 1 10 20
3 1 10 20
4 1 10 20
注意,列表的长度由my_function
必须返回匹配长度为df
。
import pandas as pd
list_a, list_b = my_function(input)
df = pd.DataFrame([list_a, list_b], columns=['a','b'])
或组合在一个行:
df = pd.DataFrame(list(my_function(input)), columns=['a','b'])