相关疑难解决方法(0)

NumPy优于常规Python列表有什么优势?

NumPy优于常规Python列表有什么优势?

我有大约100个金融市场系列,我打算创建一个100x100x100 = 100万个单元的立方体阵列.我将使用每个y和z对每个x进行回归(3变量),以使用标准错误填充数组.

我听说过,对于"大型矩阵",出于性能和可伸缩性的原因,我应该使用NumPy而不是Python列表.事实是,我知道Python列表,它们似乎对我有用.

如果我搬到NumPy,会有什么好处?

如果我有1000个系列(即立方体中有10亿个浮点单元)怎么办?

python arrays numpy list numpy-ndarray

439
推荐指数
5
解决办法
16万
查看次数

从Numpy数组创建Pandas DataFrame:如何指定索引列和列标题?

我有一个由列表列表组成的Numpy数组,表示带有行标签和列名的二维数组,如下所示:

data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
Run Code Online (Sandbox Code Playgroud)

我希望生成的DataFrame将Row1和Row2作为索引值,将Col1,Col2作为标题值

我可以指定索引如下:

df = pd.DataFrame(data,index=data[:,0]),
Run Code Online (Sandbox Code Playgroud)

但我不确定如何最好地分配列标题.

python numpy pandas

231
推荐指数
8
解决办法
61万
查看次数

Python pandas将列表插入到单元格中

我有一个列表'abc'和一个数据帧'df':

abc = ['foo', 'bar']
df =
    A  B
0  12  NaN
1  23  NaN
Run Code Online (Sandbox Code Playgroud)

我想将列表插入单元格1B,所以我想要这个结果:

    A  B
0  12  NaN
1  23  ['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?

1)如果我使用这个:

df.ix[1,'B'] = abc
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

ValueError: Must have equal len keys and value when setting with an iterable
Run Code Online (Sandbox Code Playgroud)

因为它试图将列表(有两个元素)插入行/列但不插入单元格.

2)如果我使用这个:

df.ix[1,'B'] = [abc]
Run Code Online (Sandbox Code Playgroud)

然后它插入一个只有一个元素是'abc'列表([['foo', 'bar']])的列表.

3)如果我使用这个:

df.ix[1,'B'] = ', '.join(abc)
Run Code Online (Sandbox Code Playgroud)

然后它插入一个字符串:( foo, bar)但不是列表.

4)如果我使用这个:

df.ix[1,'B'] = [', '.join(abc)]
Run Code Online (Sandbox Code Playgroud)

然后它插入一个列表,但它只有一个元素(['foo, bar'])但不是我想要的两个(['foo', 'bar']).

感谢帮助!


编辑

我的新数据框和旧列表:

abc = ['foo', …
Run Code Online (Sandbox Code Playgroud)

python list insert dataframe pandas

80
推荐指数
5
解决办法
8万
查看次数

使用numpy向量化检查pandas列中的参考列表

我有一个参考清单

ref = ['September', 'August', 'July', 'June', 'May', 'April', 'March']
Run Code Online (Sandbox Code Playgroud)

还有一个数据框

df = pd.DataFrame({'Month_List': [['July'], ['August'], ['July', 'June'], ['May', 'April', 'March']]})
df
    Month_List
0   [July]
1   [August]
2   [July, June]
3   [May, April, March]
Run Code Online (Sandbox Code Playgroud)

我想检查引用列表中的哪些元素存在于每一行中,然后转换为二进制列表

我可以使用 apply

def convert_month_to_binary(ref,lst):
    s = pd.Series(ref)
    return s.isin(lst).astype(int).tolist()  

df['Binary_Month_List'] = df['Month_List'].apply(lambda x: convert_month_to_binary(ref, x))
df

    Month_List          Binary_Month_List
0   [July]              [0, 0, 1, 0, 0, 0, 0]
1   [August]            [0, 1, 0, 0, 0, 0, 0]
2   [July, June]        [0, 0, 1, 1, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

15
推荐指数
2
解决办法
258
查看次数

pandas:如何在数据框中存储列表?

我想将单元格值设置为列表.比如说:

df.loc['a']['b'] = ['one', 'two', 'three']
Run Code Online (Sandbox Code Playgroud)

但是,我无法这样做,因为我收到以下错误:

ValueError: Must have equal len keys and value when setting with an iterable
Run Code Online (Sandbox Code Playgroud)

我的数据框目前只是全零并且是nxn.有没有办法能够设置单元格值,这样当我执行时df.loc['a']['b'],我会回来['one', 'two', 'three'].

python dataframe pandas

8
推荐指数
2
解决办法
3万
查看次数

如何将整个列表分配给pandas数据帧的每一行

我有一个数据框和一个列表

df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6]})
mylist= [10,20,30,40,50]
Run Code Online (Sandbox Code Playgroud)

我希望在数据帧的每一行中都有一个列表作为元素.如果我喜欢这里,

df['C'] = mylist
Run Code Online (Sandbox Code Playgroud)

Pandas试图每行播放一个值,所以我得到一个错误Length of values does not match length of index.

   A  B   C
0  1  4  [10,20,40,50]
1  2  5  [10,20,40,50]
2  3  6  [10,20,40,50]
Run Code Online (Sandbox Code Playgroud)

python list dataframe pandas

4
推荐指数
4
解决办法
2070
查看次数

标签 统计

python ×6

pandas ×5

dataframe ×3

list ×3

numpy ×3

arrays ×1

insert ×1

numpy-ndarray ×1