来自 pyspark.sql.dataframe.DataFrame 的 numpy 转换为字符串数组

numpy from pyspark.sql.dataframe.DataFrame convert to string array

我需要查询 pyspark.sql.dataframe.DataFrame 中的列。我希望从该列创建一个字符串数组。我正在使用 numpty 数组来实现这一点,但是我得到的结果是一个数组数组

import numpy as np
df = spark.read.load(parquetfiles/part-00000-e7dad738-8895-45e8-9926-39c9d677b999-c000.snappy.parquet', format='parquet')

    data_array = np.asarray(df.select('name').collect())
    print(type(data_array),data_array)
    
    for x in data_array:
        str = x[0]
        print(type(x))

我第一次打印得到的输出是:

<class 'numpy.ndarray'> [['London']
 ['New York']
 ['Paris']
 ['Rome']
 ['Berlin']] 

从第二张印刷品中我得到

<class 'numpy.ndarray'>

所以我的问题是:是否可以将这些值作为字符串数组获取,或者如果失败了,我可以创建一个动态,将 for 循环中的 str 值添加为字符串吗?

我尝试过的东西。

愿意接受建议和额外阅读,而不是完整的解决方案。 谢谢

post的力量。

import numpy as np
df = spark.read.load(parquetfiles/part-00000-e7dad738-8895-45e8-9926-39c9d677b999-c000.snappy.parquet', format='parquet')

data_array = np.asarray(df.select('name').collect())
cases = []    
    
for x in data_array:
   str = x[0]
   cases.append(str)