python - 根据行名将多行合并为一行(Python)
问题描述
所以我有一组以下通用格式的 csv 文件:
Post_Type Time1 Time2 ... TimeN
Type1 1:12
Type1 2:34
Type1 0:35
Type2 1:11
Type3 5:34
Type3 2:45
我想将数据框重新格式化为以下格式:
Post_Type Time1 Time2 ... TimeN
Type1 1:12 2:34 0:35
Type2 1:11
Type3 5:34 2:45
我从 python 迁移到 python,R
所以我对我在 python 中操作这些数据帧方面所做的事情的理解非常有限,而且我似乎找不到任何其他人试图做这样的事情的例子。表达我正在做的事情的另一种方式是尝试将同一类型的每一行叠加到一行中,该行包含所有时间,每个时间都与它们的原始列相对应。所有列都在原始 csv 中预定义,因此我不需要,也不想创建更多列。
解决方案
你可以试试这个:首先用空白单元格替换你的空白单元格NaN
,然后使用groupby
分组Post_Type
和调用.first
,然后用空白单元格重新替换NaN
:
df.replace('', np.nan).groupby('Post_Type').first().replace(np.nan, '')
例子:
# Original Dataframe
>>> df
Post_Type Time1 Time2 TimeN
0 Type1 1:12
1 Type1 2:34
2 Type1 0:35
3 Type2 1:11
4 Type3 5:34
5 Type3 2:45
# Processed:
>>> df.replace('', np.nan).groupby('Post_Type').first().replace(np.nan, '')
Time1 Time2 TimeN
Post_Type
Type1 1:12 2:34 0:35
Type2 1:11
Type3 5:34 2:45
注意:就我个人而言,我会保留NaN
s 而不是用空白单元格替换,因为它们很有用。
推荐阅读
- angular - 我在我的 Angular 应用程序的浏览器中看不到任何路径
- azure - 在存在扩展时重置 Azure VM 规模集上的密码
- r - R中基于时间序列和组的数据分区
- vb.net - 饼图中的标签重叠
- c# - Chrome selenium 更改配置文件和下载目录
- visual-studio-code - 打开时 VS Code 空白屏幕
- python - 如何使用 Python 在 Visual Studio 中显示 matplotlib 图像
- java - 如何在使用 tabnine 时还显示 eclipse 自动完成建议?
- python - Django 项目中无法识别 HTML 文件
- html - 如何在 HTML 中引用来自不同文件夹的图像(使用 Markdown 时)?