数据框是表格数据结构。通常,它包含数据,其中行是观察值,列是各种类型的变量。虽然“数据框架”或“数据框架”是这个概念用于多种语言的术语(R,Apache Spark,deedle,Maple,Python中的pandas库和Julia中的DataFrames库),“table”是用于的术语MATLAB和SQL。
早上好,我需要帮助,我需要创建一个分析,为我带来每条线的最低价值,以及哪个供应商的价值最高。 将 pandas 导入为 pd 数据 = {'CODBAR':[29951,29952,29953],'DE...
方法一: df1<-data.frame(A=1:5,B=2:6) df2<-data.frame(A=1:5,B=2:6) df3<-rbind(df1,df2) row.names(df3) [1] "1" "2" "3" "4" "5" "6&
我有一个账单详细信息数据集,我想根据产品的总价值对产品进行分组,另外我想要一个列来指示产生最多 r 的月份...
为带有布尔值但非布尔索引的 Pandas 数据框创建一个新系列
我一直在尝试使用 .loc 方法向我的 DataFrame 添加一个新系列,如下所示 EM['开始'] = EM.loc[(['Program_Start_Date']==Trimester_Start_Date)] 但是我收到以下电子邮件...
我有两个数据帧想要比较,我需要知道存储在 df1 中的对象是否也存在于我的 df2 中。 然而,我的 df2 的对象更长,因为有许多额外的
让我们考虑一下标记及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: 标记 CV rcv1 rcv2 rcv3 让我们考虑 markers 及其变异系数 (cv) 和三个参考 cv (rcv): 初始数据: marker cv rcv1 rcv2 rcv3 <chr> <dbl> <dbl> <dbl> <dbl> 1 AAA 7 10 8 5 2 BBB 4 5 3 1 3 CCC 11 20 15 12 4 DDD 8 7 5 2 我想改变三个新变量: rcv_value:大于rcv的最接近的cv值 rcv_name:该rcv_value的列名称 cv_conclusion: 确定,如果 cv 低于 rcvs 中的一个或另一个 ko 如果 cv 高于最高 rcv 所需输出: marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> 1 AAA 7 10 8 5 8 rcv2 ok 2 BBB 4 5 3 1 5 rcv1 ok 3 CCC 11 20 15 12 12 rcv3 ok 4 DDD 8 7 5 2 7 rcv1 ko 注意:我的真实数据有超过 100 个 markers 和大约 10 个不同的 rcv。 我失败的地方是从相应的rcv_name中获取rcv_value(使用mutate和case_when)。 感谢您的帮助。 数据: dat0 <- structure(list(marker = c("AAA", "BBB", "CCC", "DDD"), cv = c(7, 4, 11, 8), rcv1 = c(10, 5, 20, 7), rcv2 = c(8, 3, 15, 5), rcv3 = c(5, 1, 12, 2)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -4L)) 你可以试试这个: library(dplyr) dat0 %>% rowwise() %>% mutate(rcv_value = { x <- c_across(rcv1:rcv3) x[order(abs(x - cv), -x)][1] }) %>% ungroup() %>% mutate( rcv_name = do.call(coalesce, across(rcv1:rcv3, ~ ifelse(.x == rcv_value, cur_column(), NA))), cv_conclusion = ifelse(rcv_value >= cv, "ok", "ko") ) # # A tibble: 4 × 8 # marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion # <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> # 1 AAA 7 10 8 5 8 rcv2 ok # 2 BBB 4 5 3 1 5 rcv1 ok # 3 CCC 11 20 15 12 12 rcv3 ok # 4 DDD 8 7 5 2 7 rcv1 ko 在这种情况下,重新整形为长会让事情变得更加简单。首先使用tidyr::pivot_longer(),然后dplyr::mutate(.by = marker)按组执行这些操作,然后tidyr::pivot_wider()将数据恢复到原始形状。 library(dplyr) library(tidyr) dat0 |> pivot_longer( -c(marker, cv), names_to = "rcv" ) |> mutate( rcv_value = min(value[value > cv]), cv_conclusion = if_else(is.infinite(rcv_value), "ko", "ok"), rcv_value = if_else(is.infinite(rcv_value), max(value), rcv_value), rcv_name = rcv[rcv_value == value], .by = marker ) |> pivot_wider( id_cols = c(marker, cv, rcv_value, rcv_name, cv_conclusion), names_from = rcv, values_from = value ) |> select( # does not drop columns just changes order to specified one marker, cv, rcv1:rcv3, rcv_value:cv_conclusion ) # # A tibble: 4 × 8 # marker cv rcv1 rcv2 rcv3 rcv_value rcv_name cv_conclusion # <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr> # 1 AAA 7 10 8 5 8 rcv2 ok # 2 BBB 4 5 3 1 5 rcv1 ok # 3 CCC 11 20 15 12 12 rcv3 ok # 4 DDD 8 7 5 2 7 rcv1 ko 如果您可以为 rcv1:rcv3 列中的每个标记建立联系,则您必须指定您想要 rcv_name 说的内容。如果您只想要第一个值,您可以将该行更改为 rcv_name = rcv[rcv_value == value][1]。或者,您可以创建一个列表列来存储所有值,例如list(rcv[rcv_value == value]),或将它们粘贴在一起,例如rcv_name = paste(rcv[rcv_value == value], collapse = ",") 创建类似 "rcv2,rcv3" 的列。
在一张 Excel 工作表上创建了一个表格。在第二张纸上,我输入了第一张纸中的数据过滤器公式。 如果您手动将数据添加到第一个工作表,过滤器会生成正确的...
假设我们有一个如下所示的 pandas 数据框 ID 名称 日期时间 天 ------------------------------------------ 1 AAA 2022-06-22 10:00:05 12 2 BBB 2022-06-22 10:02...
我有一个大的 df,其中包含以下列:“基因、变量、值”,我想向其中添加一个新变量“light_exposure”。要将值分配给这个新列,我想看看是否
将 dict 的 pandas 数据框列扩展为数据框列[重复]
我有一个 Pandas DataFrame,其中一列是一系列字典,如下所示: 可乐·可乐·B·可乐·C 0 7 7 {'富':185,'酒吧':182,'巴兹':148} 1 2 8 {...
如何在Python-Polars中选择特定日期范围之间的行?
如果使用 Polars-Python 构造如下 DataFrame: 将极坐标导入为 pl 从极地进口科尔 从日期时间导入日期时间 df = pl.DataFrame({ “日期”:[“201...
我尝试在 otree 上进行调查,但在运行演示时它总是显示“内部服务器错误”。 Python、otree等都更新到了最新版本。 错误信息: 文件“/
在数据框中创建新列的更有效方法,使用基于行的过滤但避免 iterrows()
我有一个在下面简化的函数,但我用它在现有数据框中创建一个新列。现在我正在使用 iterrows,但我尝试使用 .apply,同时按独特的组进行过滤...
我有以下数据框: timeseries = pd.date_range("2018-01-01", period=10, freq="m") df = pd.DataFrame(data = ["a","a","b","a",...
我有一个数据转换问题,其中原始数据由三行数据的“块”组成,其中第一行表示“父级”,另外两行表示相关子级。一个
我有一个数据转换问题,其中原始数据由三行数据的“块”组成,其中第一行表示“父级”,另外两行表示相关子级。一个
我正在开发一个用于比较 R 中两个数据帧的结构的函数,以便构建一个用于将数据上传到表中的验证过滤器。我意识到当你在 R 中有一个数据框时......
为什么我无法在streamlit中使用URL配置aggrid列?
我正在尝试自定义一些网格选项,并在尝试将列设置为 URL 链接时遇到属性错误。我正在使用streamlit 1.38.0 和streamlit-aggrid 1.0.5。 导入流线型...
我有这个数据: 模拟状态 = c("A", "E", "B", "B", "A", "C", "D", "A", "B", "D", "A&...
如何高效地将单索引DataFrame扩展为多索引DataFrame? (蟒蛇、熊猫)
将 pandas 导入为 pd concordance_region = pd.DataFrame( { "国家 1": pd.Series([1, 0], index=["地区 a", "地区 b"]), “国家 2”:pd.Series([...