因此,我使用Put a 2d Array into a Pandas Series 中的答案将2D numpy 数组放入Pandas 系列。简而言之,就是
a = np.zeros((5,2))
s = pd.Series(list(a))
Run Code Online (Sandbox Code Playgroud)
现在,将熊猫系列转换回二维数组的最便宜的方法是什么?如果我尝试s.values,我会得到带有objectdtype的数组数组。
到目前为止,我尝试过,np.vstack(s.values)但它当然会复制数据。
我有一个表示对象状态的数组,其中 0 - 对象关闭,1 - 对象打开。
import pandas as pd
import numpy as np
s = [np.nan, 0, np.nan, np.nan, 1, np.nan, np.nan, 0, np.nan, 1, np.nan]
df = pd.DataFrame(s, columns=["s"])
df
s
0 NaN
1 0.0
2 NaN
3 NaN
4 1.0
5 NaN
6 NaN
7 0.0
8 NaN
9 1.0
10 NaN
Run Code Online (Sandbox Code Playgroud)
我只需要转发其中的 0 值,如下所示。
>>> df_wanted
s
0 NaN
1 0.0
2 0.0
3 0.0
4 1.0
5 NaN
6 NaN
7 0.0
8 0.0
9 …Run Code Online (Sandbox Code Playgroud)