使用 cudf 数据框搜索索引不适用于 numpy
searching index with cudf dataframe doesn't work with numpy
我刚刚用 cudf (rapidsai) 加载了 csv 文件以减少所需的时间。
当我尝试使用条件 df['X'] = A
.
搜索索引时出现问题
这是我的代码示例:
import cudf, io, requests
df = cudf.read_csv('fileA.csv')
# X is an existing column
# A is the value
df['X'] = np.where(df['X'] == A, 1, 0)
# What it is supposed to do with pandas is it search the index where df['X'] is equal to value A,
# and change them to 1, otherwise leave them as 0.
但是报错如下:
if len(cond) ! = len(self):
raise ValueError("""Array conditional must be same shape as self""")
input_col = self._data[self.name]
ValueError : Array conditional must be same shape as self
我不明白为什么会这样,因为我以前从未遇到过 pandas 的任何问题。
cuDF 正在尝试通过数组函数协议从 numpy.where
调度到 cupy.where
。由于某种原因,在这种情况下,cuDF 无法成功 运行 调度函数。
一般来说,建议在这里明确使用 CuPy 而不是 numpy。
import cudf
import cupy as cp
A = 2
df = cudf.DataFrame({"X": [0, 1, 2]})
df['X'] = cp.where(df['X'] == A, 1, 0)
df
X
0 0
1 0
2 1
我刚刚用 cudf (rapidsai) 加载了 csv 文件以减少所需的时间。
当我尝试使用条件 df['X'] = A
.
这是我的代码示例:
import cudf, io, requests
df = cudf.read_csv('fileA.csv')
# X is an existing column
# A is the value
df['X'] = np.where(df['X'] == A, 1, 0)
# What it is supposed to do with pandas is it search the index where df['X'] is equal to value A,
# and change them to 1, otherwise leave them as 0.
但是报错如下:
if len(cond) ! = len(self):
raise ValueError("""Array conditional must be same shape as self""")
input_col = self._data[self.name]
ValueError : Array conditional must be same shape as self
我不明白为什么会这样,因为我以前从未遇到过 pandas 的任何问题。
cuDF 正在尝试通过数组函数协议从 numpy.where
调度到 cupy.where
。由于某种原因,在这种情况下,cuDF 无法成功 运行 调度函数。
一般来说,建议在这里明确使用 CuPy 而不是 numpy。
import cudf
import cupy as cp
A = 2
df = cudf.DataFrame({"X": [0, 1, 2]})
df['X'] = cp.where(df['X'] == A, 1, 0)
df
X
0 0
1 0
2 1