相关疑难解决方法(0)

pandas:如何将列中的文本拆分成多行?

我正在使用大型csv文件,最后一列的下一行有一个文本字符串,我希望通过特定的分隔符进行拆分.我想知道是否有一种简单的方法可以使用pandas或python来做到这一点?

CustNum  CustomerName     ItemQty  Item   Seatblocks                 ItemExt
32363    McCartney, Paul      3     F04    2:218:10:4,6                   60
31316    Lennon, John        25     F01    1:13:36:1,12 1:13:37:1,13     300
Run Code Online (Sandbox Code Playgroud)

我想的空间分割(' '),然后结肠(':')Seatblocks列,但每个单元格将导致不同的列数.我有一个重新排列列的功能,所以Seatblocks列位于工作表的末尾,但我不知道该怎么做.我可以使用内置text-to-columns函数和快速宏在excel中完成它,但我的数据集有太多的记录供excel处理.

最终,我想记录约翰列侬的记录并创建多条线,每组座位的信息都在一条单独的线上.

python dataframe pandas

129
推荐指数
5
解决办法
11万
查看次数

将DataFrameGroupBy对象转换为DataFrame pandas

我有一个数据帧并在FIPS中做了一个groupby并总结了那些运行良好的组.

kl = ks.groupby('FIPS')

kl.aggregate(np.sum)
Run Code Online (Sandbox Code Playgroud)

我只想要一个普通的Dataframe,但我有一个pandas.core.groupby.DataFrameGroupBy对象.

python pandas

30
推荐指数
2
解决办法
4万
查看次数

用 Pandas 绘制时间序列的分箱计数

我有一个 Pandas 事件数据框,列中有时间戳作为索引和一些标量值(它的含义在这里不是那么重要)。我想绘制一个时间序列,在任何一个小时内发生了多少事件。

原始数据(比此处显示的要多得多)如下所示:

    size
timestamp       
2015-08-17 15:07:05.628000  50877
2015-08-17 15:07:05.701000  62989
2015-08-17 15:07:05.752000  33790
2015-08-17 15:07:05.802000  100314
2015-08-17 15:07:05.862000  10372
Run Code Online (Sandbox Code Playgroud)

....

随后,我按照以下方式按小时对这些事件进行了分组:

counts = df.groupby( [df.index.year, df.index.month, df.index.day, df.index.hour] ).count()
Run Code Online (Sandbox Code Playgroud)

即最终得到一个多级索引,有 4 个级别。

但是现在我正在努力创建一个很好的图表。诚然,我的熊猫可视化技巧非常狡猾。我没有比以下更进一步:

counts.plot()
Run Code Online (Sandbox Code Playgroud)

但这使得 x 轴完全不可读(元组序列)。我希望 x 轴是一个适当的时间序列,可以很好地与绘图的分辨率等缩放。我正在 IPython 中执行此操作,以防万一。(我想这个问题可能归结为如何将 4 个索引级别再次折叠为一个时间戳)。

我很乐意阅读一些参考资料,因此请随时指出任何有用的链接以供阅读。我环顾四周,但无法立即找到有关特定主题的任何信息。

(此外,请随时提出任何替代方法来实现我想要做的事情 - 不确定多级索引是否最合适)。

谢谢!

python pandas

5
推荐指数
1
解决办法
944
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×1