python - 熊猫:如何使用字符串使用字符串进行分组
问题描述
我有一个带有换行符的 csv 文件,我读入了 pandas 数据框。
df = pd.dataframe("data.csv", delimiter="\n", header=None)
这会返回类似这样的内容
marker1
10
20
30
marker2
40
50
marker3
60
70
80
90
100
.....
我想生成一个数据框如下
marker1 10
marker1 20
marker1 30
marker2 40
marker2 50
marker3 60
marker3 70
marker3 80
marker3 90
marker3 100
我认为这可以通过 groupby 完成,但我不知道如何进行。我怎样才能做到这一点?
谢谢
兰加
解决方案
使用contains
这些单元格包含标记并将其分配给另一列,然后我们这样做ffill
,并选择 col not equal to New col
df['New']=df.loc[df.col.str.contains('marker'),'col']
df.New=df.New.ffill()
df=df.query('New!=col')
df
col New
1 10 marker1
2 20 marker1
3 30 marker1
5 40 marker2
6 50 marker2
8 60 marker3
9 70 marker3
10 80 marker3
11 90 marker3
12 100 marker3
推荐阅读
- amazon-web-services - 无法在 cloudformation 中创建简单的存储桶
- python - 我正在尝试生成谢尔宾斯基三角形的输出。我想知道如何使用 2d 点类中的 midpt 函数来实现此输出?
- python - 如何访问n叉树中节点的父节点?
- c# - 在 .net 核心中找不到 ILogger 类
- python - 代码在函数之外工作,但不在函数内部
- javascript - 路由包含在不同文件中时未定义猫鼬模式
- dart - 我的变量会自动更新......当我只设置一次时。为什么会这样?
- json - 从 Oracle 表中的 CLOB 数据类型字段中提取文本
- c# - 如何在数据绑定值更改时更新图像?
- android - ReclycleView 具有分组数据和横向和纵向模式的响应标题