【发布时间】:2016-05-03 09:12:14
【问题描述】:
我生成了一个分组数据框df = df.groupby(['X','Y']).max(),然后我想将其写入(到 csv,没有索引)。所以我需要将“X”和“Y”转换回常规列;我尝试使用reset_index(),但列的顺序是错误的。
如何将 'X' 和 'Y' 列恢复到它们的原始列位置?
解决办法是:
df.reset_index(level=0, inplace=True)
然后想办法改变列的顺序?
【问题讨论】:
-
FutureWarning是否来自lambda x: x == x.max()?如果需要做身份检查,想必可以使用lambda x: x is x.max()。 -
这行得通吗?
outputframe.groupby(['somecol','someothercol'],as_index=False).max() -
我完全不明白你的问题。是否要通过丢弃行从列中删除
NaN值?还是要将这些行合并为一行? -
@Kartik 表中存在不完整行的半重复项。如果两行在几个指定的列中匹配,则它们被视为重复。然后,我希望将这两行合并为一行,同时保留/合并尽可能多的信息。在很多情况下,其中一行有一个字符串值,另一列是 nan,然后我希望字符串值出现在合并的行中。
-
我也完全不明白你的问题,我看不出'somecol','someothercol'来自哪里。鉴于第一部分(合并多行)已解决且不是问题,请删除对它的所有引用并在第 1 行向我们展示 'somecol','someothercol'。或者您需要将其设为MCVE 的任何起点。否则其他人无法理解或重复使用此问题。
标签: python pandas csv pandas-groupby indices