pandas数据帧值与numpy数组

时间:2017-05-26 09:26:39

标签: arrays pandas numpy dataframe

例如,我有一个这样的数据框:

import pandas as pd

df = pd.DataFrame([[1, 2.], [3, 4.]], columns=['a', 'b'])

print df

    a    b
0   1  2.0
1   3  4.0

我想获得如下数据框:

    a     b
0  [1,3] [2,4]

1 个答案:

答案 0 :(得分:0)

一种方法 -

public List<List<String>> getReportQuery(String query) {

        Session sess = getSessionFactory().getCurrentSession();
        final List<List<String>> table = new ArrayList<List<String>>();
        sess.beginTransaction();

        SQLQuery it = sess.createSQLQuery(query);
        it.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
        List<Map<String,Object>> result = it.list();

        for(Map<String,Object> k : result){
            final List<String> tmp = new ArrayList<String>();

            for(Entry<String,Object> entry : k.entrySet())
                tmp.add(entry.getValue() != null ? entry.getValue().toString() : null);

            table.add(tmp);
        }
}

要取回 -

df_out = pd.DataFrame([df.values.T.astype(int).tolist()], columns=df.columns)

示例运行 -

N = len(df_out.columns)
arr_back = np.concatenate(np.concatenate(df_out.values)).reshape(N,-1).T
df_back = pd.DataFrame(arr_back, columns=df_out.columns)