python - 从列表创建数据框
问题描述
我尝试创建火花数据框,我想在其中将列表转换为列。
代码:
def create_id(n):
return ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(50))
list_a = [create_id(25) for x in range(100)]
list_b = [create_id(25) for x in range(100)]
df = sc.parallelize([["a", list_a], ["b", list_b]]).toDF()
这导致
_1 _2
0 a [dv2vtdl3sobadlw1svs39emp2n9ogwzzek8b6gvug7xkp...
1 b [kdv6b9ehqx1t8kbxd77ha8435bhduyxp0ilv6e09wpejx..
这将创建 100 列,而不是 100 行:
df = sc.parallelize([list_a, list_b]).toDF()
有谁知道我如何创建一个包含两列和 100 行的 DataFrame?
解决方案
使用 post手动创建 pyspark 数据框:
def create_id(n):
return ''.join(random.choice(string.ascii_lowercase + string.digits) for _ in range(n))
list_a = [create_id(25) for _ in range(100)]
list_b = [create_id(25) for _ in range(100)]
df = spark.createDataFrame(zip(list_a,list_b), ['a', 'b'])
df.show()
+--------------------+--------------------+
| a| b|
+--------------------+--------------------+
|68blfnltq9fh81c4y...|3fl1wb5h2euy3sgd7...|
|ac37fb7qif71zzjpr...|xbqzzgiq9s6t5jiqm...|
|72rk28znzr6jjsi69...|5wvl528eg5y3p1lsk...|
|fioqnla3ijvl5769s...|1xvs2592uaxadv1o4...|
|7der8ld8fd6vl6g9d...|lrup85xitjz1uhsfl...|
|gycdap4hodaxxggw8...|h2oz370tzo6fnpke3...|
|ccvqcyzeynuks63pq...|iut82y2k1irfdvep1...|
|ngq29fnq2usghspgh...|z6j4mibrrjznoc9s8...|
|3qb6xyk5c1kbg0xq1...|l10ouv4w24d66e0ak...|
|u6dcvzede90xa7zz2...|hnh571t9szy0pwjrp...|
|3122g38k47jm24t7f...|tzbxlua574l88qtw1...|
|6pnva6ow83yxexqp1...|0nfj3v59b8jh0qv1g...|
|kl7xyftax3z32ot8o...|0sf6iyiyxpyvyd5kj...|
|36qwiiifgbzba4n8c...|xt4lpkjle8qynnlpo...|
|owsgb02rnov8qrhvw...|1zu4oisit25y2g14i...|
|bcmg0flh4d9tnvnjc...|7lfwx9kf7qens70p8...|
|6sdy1e8i3y1w0rtpr...|gw79bsrx8jlse6ixu...|
|83h5iq10clte1gcpr...|kblufuhlwabu7sv3u...|
|7g20ga0m756f0qsj7...|1fzo40vwtrp0kud8j...|
|07tw66i7dpcphczz1...|9a8c9ditp9dzomxh4...|
+--------------------+--------------------+
only showing top 20 rows
推荐阅读
- mysql - Mysql:优化使用一列或另一列的查询
- haskell - 使用 HLS 和 vscode 限制自动完成
- firebase - Flutter 和 Firestore:如何更新集合组中的多个特定文档
- python - 存储每日股价数据的最佳方式?
- c++ - 为什么这段代码返回错误的值?输入= 5 ,{ -1,4,-6,7,-4}
- telegraf - Telegraf Starlark 处理器 - 如何将日期时间转换为 Unix 纪元格式
- python - Google Speech API 为某些 FLAC 文件返回空结果,而不是为其他文件返回空结果,尽管它们具有相同的编解码器和采样率
- python - Python:动态更改逻辑运算符
- image-processing - 如何在分水岭算法中找到种子标记标签?
- r - 在 Shiny 应用程序中使用 Google SearchConsoleR 数据