ays*_*duz 5 python numpy pandas
我搜索了,我找不到像我这样的问题。因此,如果有,但不知何故我找不到,请告诉我。所以我可以删除这个帖子。
我遇到了一个问题,无法按值将 Pandas 数据帧拆分为不同的数据帧 (df)。
我在文本文件中有一个数据集,我将它们存储为pandas dataframe只有一列。数据集中有不止一组信息,并且某个值定义了该组的结尾,您可以在下面看到一个示例:
样本输入
In [8]: df
Out[8]:
var1
0 a
1 b
2 c
3 d
4 endValue
5 h
6 f
7 b
8 w
9 endValue
Run Code Online (Sandbox Code Playgroud)
所以我想把这个 df 拆分成不同的数据帧。我找不到办法做到这一点,但我相信一定有一个简单的方法。我在示例输出中显示的格式可能是错误的格式。所以,如果你有更好的主意,我很乐意看到。谢谢你的帮助。
我想要的示例输出
var1
{[0 a
1 b
2 c
3 d
4 endValue]},
{[0 h
1 f
2 b
3 w
4 endValue]}
Run Code Online (Sandbox Code Playgroud)
您可以检查 的位置var1,endValue获取cumsum,并将结果用作自定义石斑鱼。然后Groupby根据结果构建一个字典:
d = dict(tuple(df.groupby(df.var1.eq('endValue').cumsum().shift(fill_value=0.))))
Run Code Online (Sandbox Code Playgroud)
或者对于数据帧列表(以相同的方式有效索引):
l = [v for _,v in df.groupby(df.var1.eq('endValue').cumsum().shift(fill_value=0.))]
Run Code Online (Sandbox Code Playgroud)
print(l[0])
var1
0 a
1 b
2 c
3 d
4 endValue
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |