无法在 Pandas Dataframe 中拆分列

埃莫纳尔

我一直在寻找 Stack 来寻找这个问题的答案,虽然这里这里提供的解决方案,例如,在逻辑上是合理的,但我终生无法实现它们。

我对 Python 非常陌生,虽然我知道我可以在 Excel 中快速完成此操作,但我想学习如何在 Python 中完成此操作,因此我将来不再依赖 Excel。

这是我当前的代码(为了我在学习我所写的内容时受益,这些代码分布在不同的单元格中,所以如果它们读起来有点刺耳,我深表歉意):

## SECOND STEP: IMPORT CSVs INTO DATA FRAMES 
# import module
import pandas as pd
  
# read datset
df1 = pd.read_csv("./csvs/Data1.csv")
df2 = pd.read_csv("./csvs/Data2.csv")

## FOURTH STEP - MERGE DATA FRAMES INTO 1 DATA SET
# Merging df1 and df2 with merge function with the common column as Name
# We use a Left join as DF2 contains the additional information we need in DF1
df3 = pd.merge(df1, df2, on='Title', how="left")


## FIFTH STEP - SPLIT COLUMN 'GENRE'
pd.concat([df3[[0]], df3['Genres'].str.split(',', expand=True)], axis=1)

来自第四步的合并数据看起来像这样(带有相关列标题的基本表示例):

在此处输入图片说明

我确信我做错的事情是可以修复的,但我真的很感激帮助找出原因?

S2L
import pandas as pd

# generate test data
df = pd.DataFrame(
    {
        'A': np.random.choice(100, 3),
        'B': ['a,b,c', 'x,y', 'q,r'],
        'C': [1,2,5]
    })
print(df)
print('------')

# concat A and C columns, with splitted column B
# store the output in new dataframe
df2 = pd.concat([df[['A','C']], df['B'].str.split(',', expand=True)], axis=1)
print(df2)

输出:

    A      B  C
0  28  a,b,c  1
1   4    x,y  2
2   7    q,r  5
------
    A  C  0  1     2
0  28  1  a  b     c
1   4  2  x  y  None
2   7  5  q  r  None

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章