当我使用df.show()
查看jupyter笔记本中的pyspark数据帧时
它告诉我:
+---+-------+-------+-------+------+-----------+-----+-------------+-----+---------+----------+-----+-----------+-----------+--------+---------+-------+------------+---------+------------+---------+---------------+------------+---------------+---------+------------+
| Id|groupId|matchId|assists|boosts|damageDealt|DBNOs|headshotKills|heals|killPlace|killPoints|kills|killStreaks|longestKill|maxPlace|numGroups|revives|rideDistance|roadKills|swimDistance|teamKills|vehicleDestroys|walkDistance|weaponsAcquired|winPoints|winPlacePerc|
+---+-------+-------+-------+------+-----------+-----+-------------+-----+---------+----------+-----+-----------+-----------+--------+---------+-------+------------+---------+------------+---------+---------------+------------+---------------+---------+------------+
| 0| 24| 0| 0| 5| 247.3000| 2| 0| 4| 17| 1050| 2| 1| 65.3200| 29| 28| 1| 591.3000| 0| 0.0000| 0| 0| 782.4000| 4| 1458| 0.8571|
| 1| 440875| 1| 1| 0| 37.6500| 1| 1| 0| 45| 1072| 1| 1| 13.5500| 26| 23| 0| 0.0000| 0| 0.0000| 0| 0| 119.6000| 3| 1511| 0.0400|
| 2| 878242| 2| 0| 1| 93.7300| 1| 0| 2| 54| 1404| 0| 0| 0.0000| 28| 28| 1| 0.0000| 0| 0.0000| 0| 0| 3248.0000| 5| 1583| 0.7407|
| 3|1319841| 3| 0| 0| 95.8800| 0| 0| 0| 86| 1069| 0| 0| 0.0000| 97| 94| 0| 0.0000| 0| 0.0000| 0| 0| 21.4900| 1| 1489| 0.1146|
| 4|1757883| 4| 0| 1| 0.0000| 0| 0| 1| 58| 1034| 0| 0| 0.0000| 47|
如何获得像熊猫数据帧一样的格式化数据帧,以更有效地查看数据?
您可以使用将pyspark数据帧直接转换为pandas数据帧的功能。同样的命令是-
df.limit(10).toPandas()
这应该会直接产生pandas数据帧的结果,您只需要安装pandas包。
您必须使用以下代码
from IPython.display import display
import pandas as pd
import numpy as np
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
display(df)
正如@sat在他们的回答中提到的,你可以使用:
df.toPandas()
或者最好限制:
df.limit(10).toPandas()
# where 10 is the number of rows
将您的数据帧转换为pandas数据帧。
然而,如果你想在pyspark中查看你的数据,你可以使用:
df.show(10,truncate=False)
如果您想单独查看数据帧的每一行,请使用:
df.show(10, vertical=True)
此外,您还可以使用找到记录的总数
df.count()