例如,我有一个这样的数据框:
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]
答案 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)