Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.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 与新观测值连接-数据帧_Python_Pandas_Dataframe_Concatenation - Fatal编程技术网

Python 与新观测值连接-数据帧

Python 与新观测值连接-数据帧,python,pandas,dataframe,concatenation,Python,Pandas,Dataframe,Concatenation,我正试图结合新的观察结果。我得到的答案是,我认为这是正确的,但仍然得到系统的回复,说“ValueError” “当我认为我得到了正确的结果时,谁能告诉我为什么会有值错误?” 问题是: 假设数据帧员工如下所示: Department Title Year Education Sex Name Bob IT analyst 1 Bachelor M S

我正试图结合新的观察结果。我得到的答案是,我认为这是正确的,但仍然得到系统的回复,说“ValueError” “当我认为我得到了正确的结果时,谁能告诉我为什么会有值错误?”

问题是:

假设数据帧员工如下所示:

      Department      Title  Year Education Sex
Name                                           
Bob           IT    analyst     1  Bachelor   M
Sam        Trade  associate     3       PHD   M
Peter         HR         VP     8    Master   M
Jake          IT    analyst     2    Master   M
另一个新的观测数据框架是:

         Department Education Sex      Title  Year
Mary             IT             F         VP   9.0
Amy               ?       PHD   F  associate   5.0
Jennifer      Trade    Master   F  associate   NaN
John             HR    Master   M    analyst   2.0
Judy             HR  Bachelor   F    analyst   2.0
用这些新的观察结果更新员工

这是我的密码:

    import pandas as pd
    Employee =pd.DataFrame({"Name":["Bob","Sam","Peter","Jake"],
                    "Education":["Bachelor","PHD","Master","Master"],
                   "Sex":["M","M","M","M"],
                    "Year":[1,3,8,2],
                   "Department":["IT","Trade","HR","IT"],
              "Title":["analyst", "associate", "VP", "analyst"]})

    Employee=Employee.set_index('Name')

    new_observations = pd.DataFrame({
               "Name": ["Mary","Amy","Jennifer","John","Judy"],
               "Department":["IT","?","Trade","HR","HR"],
               "Education":["","PHD","Master","Master","Bachelor"],
               "Sex":["F","F","F","M","F"],
               "Title":["VP","associate","associate","analyst","analyst"],
               "Year":[9.0,5.0,"NaN",2.0,2.0]},
               columns= 
               ["Name","Department","Education","Sex","Title","Year"])

    new_observations=new_observations.set_index('Name')

    Employee = Employee.append(new_observations,sort=False)
以下是我的结果:

我也试过了

Employee = pd.concat([Employee, new_observations], axis = 1, sort=False)

使用
axis=0
上的
pd.concat
,这是默认设置,因此不需要包括axis:

pd.concat([Employee, new_observations], sort=False)
输出:

         Education Sex Year Department      Title
Name                                             
Bob       Bachelor   M    1         IT    analyst
Sam            PHD   M    3      Trade  associate
Peter       Master   M    8         HR         VP
Jake        Master   M    2         IT    analyst
Mary                 F    9         IT         VP
Amy            PHD   F    5          ?  associate
Jennifer    Master   F  NaN      Trade  associate
John        Master   M    2         HR    analyst
Judy      Bachelor   F    2         HR    analyst

我没有收到错误,结果对我来说很好。