python - Pandas 如何在没有聚合的情况下创建简单的交叉表?

标签 python pandas aggregate-functions crosstab

我有一个包含 3 列的 pandas 表:parent_male、parent_female、offsprings - 所有字符串。 我想创建一个简单的稀疏交叉表,将男性与女性和后代作为值 - 我怎么能写一个这样做的 aggfunc。 (不需要真正的聚合)- 只需在空白处放置一个空字符串。

最佳答案

IIUC 你需要pivot :

df = df.pivot(index='parent_male', columns='parent_female', values='offsprings')

如果报错:

ValueError: Index contains duplicate entries, cannot reshape

使用pivot_table

所以最终的解决方案是:

ct = pd.pivot_table(d['male'], d['female'], d['offsprings'], aggfunc=','.join)

关于python - Pandas 如何在没有聚合的情况下创建简单的交叉表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327503/

相关文章:

python - 将 xlsx 文件转换为 xls 以与 pandas 一起使用

mysql - 按时间间隔聚合对查询结果进行分组

MySQL:VIEW 语句:使用 View 和聚合函数

python - 如何将位置过滤器添加到 tweepy 模块

python - 如何在Python中使用单独的线程进行异步信号处理

python - 相当于将 "b"传递给 os.popen2 的子进程是什么?

python - 更改 pandas 0.13.0 "print dataframe"以像早期版本一样打印数据帧

python - Pandas - 如何在数据框中的任何行中找到 6 个零的序列,并将其替换为 NaN?

sql - Postgresql获取数组中最常见的值

python - tcp 套接字,select 告诉可写,但 write() 会阻塞