Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pandas数据帧分解多个colulms_Python_Pandas_Dataframe_Explode - Fatal编程技术网

Python 如何使用pandas数据帧分解多个colulms

Python 如何使用pandas数据帧分解多个colulms,python,pandas,dataframe,explode,Python,Pandas,Dataframe,Explode,df=spark.sql(“从表中选择键、名称、主题”) df在上面的select语句中: key name subjects 12 x,y,z 1,2,3 20 a,b 8,7 df输出: 12 x 1 12 y 2 12 z 3 20 a 8 20 b 7 尝试转换为列表、分解。仍然抛出错误。请帮助找到实现此目标的有效方法?单向使用pandas.DataFrame.apply: # df["name"] = df["name&

df=spark.sql(“从表中选择键、名称、主题”)

df在上面的select语句中:

key name    subjects
12  x,y,z   1,2,3
20  a,b     8,7
df输出:

12  x 1
12  y 2
12  z 3
20  a 8
20  b 7

尝试转换为列表、分解。仍然抛出错误。请帮助找到实现此目标的有效方法?

单向使用
pandas.DataFrame.apply

# df["name"] = df["name"].str.split(",")
# df["subjects"] = df["subjects"].str.split(",")
# If not already split

new_df = df.apply(pd.Series.explode)
print(new_df)
输出:

   key name subjects
0   12    x        1
0   12    y        2
0   12    z        3
1   20    a        8
1   20    b        7

单向使用pandas.DataFrame.apply:

# df["name"] = df["name"].str.split(",")
# df["subjects"] = df["subjects"].str.split(",")
# If not already split

new_df = df.apply(pd.Series.explode)
print(new_df)
输出:

   key name subjects
0   12    x        1
0   12    y        2
0   12    z        3
1   20    a        8
1   20    b        7

谢谢你,克里斯。它正在爆炸。仍然面临错误-无法从重复轴重新编制索引。带忽略索引的Concat不起作用。是否可以生成临时唯一索引,因为在分解期间复制了键。pandasversion-1.0.5

df["name"] = df["name"].str.split(",") 
df["subjects"] = df["subjects"].str.split(",") 
new_df= df.apply(pd.Series.explode).reindex() 

谢谢你,克里斯。它正在爆炸。仍然面临错误-无法从重复轴重新编制索引。带忽略索引的Concat不起作用。是否可以生成临时唯一索引,因为在分解期间复制了键。pandasversion-1.0.5

df["name"] = df["name"].str.split(",") 
df["subjects"] = df["subjects"].str.split(",") 
new_df= df.apply(pd.Series.explode).reindex() 
与…有关。