python - 如何使用 pandas dataframe 对数据进行反规范化

标签 python pandas

我有一个用 CSV 文件创建的 pandas 数据框。 数据框看起来像这样

srvr_name log_type       hour  
server1   impressionWin  18:00:00 
server1   transactionWin 18:00:00 
server2   impressionWin  18:00:00 
server2   transactionWin 18:00:00 

我想从中得到的是:

srvr_name impressionWin transactionWin hour
server1   true          true           18:00:00
server2   true          true           18:00:00 

在 pandas 中实现这一目标的最佳方法是什么?

最佳答案

使用 joinget_dummies

df.join(pd.get_dummies(df.log_type)).groupby(['srvr_name', 'hour']).sum().astype(bool)

                    impressionWin  transactionWin
srvr_name hour
server1   18:00:00           True            True
server2   18:00:00           True            True

关于python - 如何使用 pandas dataframe 对数据进行反规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50864475/

相关文章:

python - 如何在 Pandas 数据框中获得组合的组合?

python - 如何获取一列特定值的第一次出现,但前提是它至少有 5 个连续的行在彼此下方

python - pandas中groupby处理 `category`类型时的性能

python - 不和谐给某人添加角色

Python处理反向查找

python - 无法在 pygame 中打开 .png 文件

Python RSA 库?

python - 添加一个新列,将短语中的所有大写单词附加到每行的列表中

python - 将列表对象作为函数参数传递(而不是作为默认值),是否有任何陷阱?

python - 将 Pandas 时间序列切成 n 个月的 block