Tôi có một số rất lớn pyspark.sql.dataframe.DataFrame có tên df. Tôi cần một số cách để liệt kê các bản ghi - do đó, có thể truy cập bản ghi với một số chỉ mục nhất định. (Hoặc chọn nhóm các hồ sơ với chỉ số dao động)PySpark DataFrames - cách liệt kê mà không cần chuyển đổi sang Pandas?
Trong gấu trúc, tôi có thể làm chỉ
indexes=[2,3,6,7]
df[indexes]
Ở đây tôi muốn một cái gì đó tương tự, (và không chuyển đổi dataframe để gấu trúc)
Gần nhất tôi có thể lấy đến là:
thống kê đầy đủ các đối tượng trong dataframe gốc bởi:
indexes=np.arange(df.count()) df_indexed=df.withColumn('index', indexes)
- Đang tìm kiếm các giá trị tôi cần sử dụng ở đâu) chức năng (.
CÂU HỎI:
- Tại sao nó không hoạt động và làm thế nào để làm cho nó làm việc? Làm thế nào để thêm một hàng vào một khung dữ liệu?
Nó sẽ làm việc sau này để làm một cái gì đó như:
indexes=[2,3,6,7] df1.where("index in indexes").collect()
Bất kỳ nhanh hơn và cách đơn giản hơn để đối phó với nó?
Xin chào @ zero323, tôi đã thử đoạn trích. Mọi thứ hoạt động trừ 'indexed.where (col (" index "). InSet (indexes))' không hoạt động. Nó trả về đối tượng 'TypeError: 'Column' không thể gọi được cho tôi. Bạn có cập nhật về đoạn trích nếu tôi muốn truy vấn nhiều chỉ mục không? – titipata