- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在修改加载到 DataFrame 中的报告。报告的 SKU 列具有混合数据类型。我想根据单元格数据类型(str、int)将该列拆分为两个新列(SUBTOTAL 和 SKU)。
遵循 similar question 中的示例我得到一个 bool 列。好的
df['SUBTOTAL'] = df['SKU'].apply(lambda x: isinstance(x, str))
SKU AMOUNT SUBTOTAL
7 4410 1 False
8 4200 5 False
9 total 6 True
11 4250 0 False
12 4255 0 False
我在 Jupyter Notebook 中执行此操作。这就是让我发疯的事情。如果我首先调用上面的行,然后用df[]
包装代码,然后重新运行那个单元格,我得到了我想要的。
df['SUBTOTAL'] = df[df['SKU'].apply(lambda x: isinstance(x, str))]
SKU AMOUNT SUBTOTAL
7 4410 1 NaN
8 4200 5 NaN
9 total 6 total
11 4250 0 NaN
12 4255 0 NaN
但是当我重新启动并运行所有时,我得到一个键错误。
我几乎必须在同一行上运行两次,
df['SUBTOTAL'] = df['SKU'].apply(lambda x: isinstance(x, str))
df['SUBTOTAL'] = df[df['SKU'].apply(lambda x: isinstance(x, str))]
如何将混合类型的 DataFrame 拆分为两列?
最终结果应该是,
SKU AMOUNT SUBTOTAL
7 4410 1 NaN
8 4200 5 NaN
9 NaN 6 total
11 4250 0 NaN
12 4255 0 NaN
或者我可以添加一个新的 SKUb 列并删除、重命名等等。
最佳答案
与检查字符串相比,检查数字数据可能是一个更好的主意。您可以使用优化的 pd.to_numeric
+ pd.Series.isnull
而不是 apply
+ lambda
:
s = df['SKU'].copy() # make copy for later
df['SKU'] = pd.to_numeric(df['SKU'], errors='coerce') # gives nan for non-numeric data
df['SUBTOTAL'] = np.where(df['SKU'].isnull(), s, np.nan)
目前,您的代码还不清楚。您正在尝试将数据帧分配给一个系列,因为 df['SUBTOTAL']
是一个系列,但是 df[df['SKU'].apply(lambda x: isinstance(x , str))]
是一个数据框。不建议这样做。
关于python - 将混合类型的 DataFrame 拆分为两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51585244/
我有一个数组列表: ArrayList allText = new ArrayList(); 其内容是这样的: [Alabama - Montgomery, Alaska - Juneau, Ariz
我有一个 timestamp 格式的开始和结束时间。我想将它们分成多个时间段,例如 1 小时。 $t1 = strtotime('2010-05-06 12:00:00'); $t2 = strtot
我需要将 span10 分成 3 列,但我无法将它们排列起来。我应该在 span10 中添加一个 span12 还是使用 offset 还是??
我有一个时间序列。我想从早上 8 点到第二天早上 7:59 分成 24 小时的区 block 。我知道如何按日期分组,但我尝试过使用 TimeGroupers 和 DateOffsets 处理这个 8
我收到“街道号码邮政编码城市”形式的地址(作为字符串)。我想要做的是将街道和号码与邮政编码和城市分开。通常你可以按空格分割。但有些街道名称中也有空格,例如:“Emile Van Ermengemlaa
我有一个用户列表。其中一些用户处于第一状态,而其他用户处于第二状态。所以我想要的是将这个列表显示为首先,它按排序顺序显示存在 = 1 的用户,然后按排序顺序显示存在 = 2 的用户。这里的排序是根据用
我感觉我搜索了整个网络,但找不到一种方法将不同高度的 div 很好地划分为 3 列,就像 http://www.ing.nl 上那样 headertekst headerteksttesth
Bootstrap 3 按钮下拉菜单出现问题。你可以在这里看到我的两个例子: http://www.bootply.com/W1dLusilMk http://www.bootply.com/GGBv
我在 php 中执行以下操作 foreach($QuestionAsekd as $k => $v){ $grp_name = $v['NAME']; $groupValues[$gr
我找到了一种用pandas解析html的绝妙方法。我的数据格式有点奇怪(见下文)。我想将这些数据拆分为 2 个单独的数据帧。 注意每个单元格如何由,分隔...是否有任何真正有效的方法来分割所有这些单元
HTML 看起来像这样,但我不允许对其进行更改。我只能编写 CSS 将其变成 2 列。 Povezave www.behance.net www.kiberpipa.org www.o
假设我有以下数据框“A” utilization utilization_billable service 1
我需要将 2 个文本框拉伸(stretch)到 100% 的浏览器宽度,以及一个提交按钮。所有三个都应该在一行中,我试图拉伸(stretch)它但它没有发生......有什么想法吗? 代码: .sea
我是一名优秀的程序员,十分优秀!