我有一个数据框(具有更多行和列),如下所示。
示例 DF:
from pyspark import Row
from pyspark.sql import SQLContext
from pyspark.sql.functions import explode
sqlc = SQLContext(sc)
df = sqlc.createDataFrame([Row(col1 = 'z1', col2 = '[a1, b2, c3]', col3 = 'foo')])
# +------+-------------+------+
# | col1| col2| col3|
# +------+-------------+------+
# | z1| [a1, b2, c3]| foo|
# +------+-------------+------+
df
# DataFrame[col1: string, col2: string, col3: string]
Run Code Online (Sandbox Code Playgroud)
我想要的是:
+-----+-----+-----+
| col1| col2| col3|
+-----+-----+-----+
| z1| a1| foo|
| z1| b2| foo|
| z1| c3| foo|
+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)
我试图复制RDD这里提供的解决方案: …
#### the data is inverted #######
#### To bring back to its original position #######
df_1= df_i.iloc[::-1]
#### Set index again ###################
df_1.index = range(len(df_1.index))
Run Code Online (Sandbox Code Playgroud)
#
因为我正在创建一个数据框 df ,但我希望数据框名称为 df_0, df_1, df_2 ......................... df_n
在每次迭代中,我都想创建一个新的数据框,如何?
而我的计数 = 22,这意味着我的循环将运行 22 次。
有没有办法将所有数据帧水平连接为单个 dta 帧
14、15、16(来自第一张)、14A、15A、16A(来自第二张)、14B、15B、16B、(来自第三张)作为 col1、col2、col3、col4........ ………………
感谢你的帮助