返回一个数据框,但在另一个函数中使用该数据框时却有所不同

时间:2018-10-18 09:21:47

标签: python pandas dataframe

我想在function_B中使用由function_A产生的数据框

def function_A():
   df = pandas.DataFrame(data,columns=['A'])
   return df

def function_B():
   df1 = function_A()

if __name__ == '__main__':
   function_A()
   function_B()

但是,df1df有所不同。

df就像

    A
0   aaa

1   bbb

df1是一个EMPTY数据帧。有人知道原因吗?

编辑

我想将df1funtion_B中的另一个数据帧连接起来。

def function_B():
   df1 = function_A()
   df2 = pandas.DataFrame(data2,columns=['A'])
   pandas.concat([df1,df2])

除了return df1之外,还有其他答案吗?

2 个答案:

答案 0 :(得分:0)

它不是空的。只需修复function_B

def function_B():
    df1 = function_A()
    return df1

当然id(function_A())id(function_B())不相等(例如,数据帧不是同一对象,因为每次都创建一个新的Dataframe)。

答案 1 :(得分:0)

也许您只需要在function_b中添加一个返回值:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)
@WebAppConfiguration
public class ConnectControllerTest {
    protected MockMvc mockMvc;
    @Autowired
    private WebApplicationContext context;
    @Autowired
    private Filter springSecurityFilterChain;

    @Before
    public void setup() {
        mockMvc = MockMvcBuilders.webAppContextSetup(context)
            .addFilters(springSecurityFilterChain)
            .defaultRequest(get("/"))
            .build();
    }

    @Test
    public void shouldTestAuthentication() throws Exception {
        String result = mockMvc.perform(post("/authentication")
            .param("email", "user@test.pl").param("password", "password"))
            .andExpect(status().isOk())
            .andExpect(jsonPath("$.token").exists())
            .andReturn().getResponse().getContentAsString();
    }
}