pandas - 在 Pandas 行中创建元素

标签 pandas

我有一个 pandas 表 df:

           course
ID
1      physics101
1       astronomy     
2           maths
2         another

我想导出一个具有以下结果的表:

         physics101    astronomy     maths    another
ID
1              True         True    False        False
2             False        False     True         True

这是什么样的操作?

(df 的元素是一组已定义的类)

最佳答案

您可以使用crosstab():

import pandas as pd
from StringIO import StringIO
data = StringIO("""ID       course
1      physics101
1       astronomy     
2           maths
2         another""")
df = pd.read_csv(data, delim_whitespace=True)
pd.crosstab(df.ID, df.course) > 0

输出:

course another astronomy  maths physics101
ID                                        
1        False      True  False       True
2         True     False   True      False

关于pandas - 在 Pandas 行中创建元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010077/

相关文章:

python - 解析嵌套 Pandas 数据框中的日期时间

python - 将 DataFrame 中的单词拆分为行

python - 使用python从sql查询中的文本文件调用日期

python - 添加来自两个不同数据帧的两列,所有其他列都相同

python - Pandas 数据框中列的热图

python - Django 应用程序在内存中有一个在所有请求之间共享的 Pandas 对象?

pandas - Pyspark - 如何回填 DataFrame?

Python:使用 xlrd 和 pandas 解析 .xls 文件失败

python - 将 df.apply() 的输出一次写入多个列

python - 在 pandas 数据框中使用函数 nans 进行前向填充的快速方法