首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中将dataframe转换为其他dataframe的列

在Python中将dataframe转换为其他dataframe的列
EN

Stack Overflow用户
提问于 2018-08-17 10:54:35
回答 2查看 174关注 0票数 0

我有两个数据集:

df1:

代码语言:javascript
复制
Name        Answers Questions People-reached Reputation  
Alex Gaynor   154        44          ~1.4m     8,871 

df2:

代码语言:javascript
复制
 Project               Total-score Post     
 python                    337      93  
 django-templates          22       4  
 slug                      12       1  
 google-app-engine         8        1  
 django                    235      57  
 clang                     22       2  

在Python (pandas或其他库)中,有没有办法合并这两个数据帧,使df2成为df1中的新列?

期望的输出将是:

代码语言:javascript
复制
Name       Answers     Questions   People-reached    Reputation   Project-details
Alex Gaynor   154        44          ~1.4m             8,871   python 337 93  
                                                              django-templates 22 4   
                                                               slug   12  1  
                                                              google-app-engine 8 1
EN

回答 2

Stack Overflow用户

发布于 2018-08-17 12:14:56

如果您需要保留添加字段的列结构,您可以创建一个列MultiIndex。

如果您只需要将df2中的信息存储为df1中的列,则可以创建一个包含df2.values列表的列。

选项1:保留列结构

代码语言:javascript
复制
# first merge df1 and df2
df2.index = ["Alex Gaynor"] * len(df2)
merged = df1.merge(df2, left_on="Name", right_index=True)

# now create multi-index columns
top_lvl = df1.columns.tolist() + ["project_details"]*3
bottom_lvl = [" "]*len(df.columns) + df2.columns.tolist()
merged.columns = [top_lvl, bottom_lvl]

merged

          Name Answers Questions People-reached Reputation    project_details  \
                                                                      Project   
0  Alex Gaynor     154        44          ~1.4m      8,871             python   
0  Alex Gaynor     154        44          ~1.4m      8,871   django-templates   
0  Alex Gaynor     154        44          ~1.4m      8,871               slug   
0  Alex Gaynor     154        44          ~1.4m      8,871  google-app-engine   
0  Alex Gaynor     154        44          ~1.4m      8,871             django   
0  Alex Gaynor     154        44          ~1.4m      8,871              clang   


  Total-score Post  
0         337   93  
0          22    4  
0          12    1  
0           8    1  
0         235   57  
0          22    2  

如果您确实需要第一行下面的所有df1条目都为空,您可以这样做:

代码语言:javascript
复制
merged.iloc[1:, :5] = ""
merged
          Name Answers Questions People-reached Reputation    project_details  \
                                                                      Project   
0  Alex Gaynor     154        44          ~1.4m      8,871             python   
0                                                            django-templates   
0                                                                        slug   
0                                                           google-app-engine   
0                                                                      django   
0                                                                       clang   


  Total-score Post  
0         337   93  
0          22    4  
0          12    1  
0           8    1  
0         235   57  
0          22    2  

列选项2:只需将列df2信息存储在中

代码语言:javascript
复制
df1["project_details"] = [df2.values]
df1
          Name  Answers  Questions People-reached Reputation  \
0  Alex Gaynor      154         44          ~1.4m      8,871   

                                     project_details  
0  [[python, 337, 93], [django-templates, 22, 4],...  
票数 1
EN

Stack Overflow用户

发布于 2018-08-17 12:54:06

您可以将dataframe转换为字符串,并将值添加到新列的第一行:

代码语言:javascript
复制
# make df into string
df_string = df2.to_string(index=False, header=False)

# make new column
df1["project_details"] = np.nan

# add df_string to first row in new column
df1.iloc[0, df1.columns.get_loc('project_details')] = df_string
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51887781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档