问题列表 - 第318023页

基于同一列的前一行计算 pandas 数据框(请使用 numpy,因为数据集很大)

x = {“输入”:[\'A\',\'B\',\'B\',\'B\',\'B\',\'B\',\'A\', \'B\',\'B\',\'C\',\'B\',\'B\',\'C\',\'B\',\'B\',\' A\',\'B\',\'C\']}

\n

df = pd.DataFrame(x)

\n

df

\n

\xe2\x80\x9cOUTPUT\xe2\x80\x9d 列的计算条件

\n

条件(1)如果输入值A则输出A

\n

条件(2)如果输入值C则输出C

\n

条件(3.i)如果输入值 B 且 B 出现在 C 之后,则输出 C

\n

条件(3.ii)如果输入值 B 且 B 出现在 A 之后,则输出 A

\n

最终数据框

\n
cond_output = ((df["INPUT"] == "A"),\n               (df["INPUT"] == "C"),\n               ((df["INPUT"] == "B") & (df["OUTPUT"].shift(1, fill_value="A") == "A")),\n               ((df["INPUT"] == "B") & (df["OUTPUT"].shift(1, fill_value="A") == "C")))\n               \nchoice_output = ("A", "C", "A", "C")                       \n                       \n                       \ndf["OUTPUT"] = np.select(cond_output, choice_output)\ndf\n\n# KeyError: \'OUTPUT\'\n
Run Code Online (Sandbox Code Playgroud)\n

python select if-statement numpy pandas

0
推荐指数
1
解决办法
67
查看次数

为什么 serde 的 Serialize/Deserialize 派生会在 const _: () 块中生成代码?

注意:这个问题并不是专门关于serde:它是关于过程宏和 const 函数。

我正在研究serde的派生宏为Serialize和生成的代码Deserialize,但我还没有弄清楚为什么它的所有代码都在const _: ().

例如,

#[derive(Deserialize)]
struct MyNewType(i32);
Run Code Online (Sandbox Code Playgroud)

扩展为(使用cargo expand):

#[doc(hidden)]
#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
const _: () = {
    #[allow(unused_extern_crates, clippy::useless_attribute)]
    extern crate serde as _serde;
    #[automatically_derived]
    impl<'de> _serde::Deserialize<'de> for MyNewType {
        fn deserialize<__D>(
            __deserializer: __D,
        ) -> _serde::__private::Result<Self, __D::Error>
        where
            __D: _serde::Deserializer<'de>,
        {
         // generated implementation omitted for brevity
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

我发现,如果我仔细复制块内的内容const _: () = {...},并在删除标签后将其粘贴回源代码中#[derive(Deserialize)],那么一切似乎都会编译并且反序列化继续正常工作。const _: () …

compile-time rust rust-proc-macros

4
推荐指数
1
解决办法
55
查看次数

安装 Boost 时出错:验证校验和不正确,符合预期

错误信息:

验证校验和不正确,预期为 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e,得到 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede 0 关闭

重现步骤

cd ios & pod install
Run Code Online (Sandbox Code Playgroud)

输出:

React Native Version
0.73.1

Affected Platforms
Build - MacOS
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

React Native pod 安装期间发生错误。

cocoapods react-native podfile

39
推荐指数
2
解决办法
1万
查看次数

使用 gcc -msse2 编译的 C 程序包含 AVX1 指令

我改编了我在 SO 上找到的 SSE2 函数,并将其包含在我的程序中。该函数使用 SSE2 内在函数来计算向量中每个 8 x 16 位整数的前导零计数。当我编译这个程序时,它没有产生任何警告,并在我经常用于开发的旧笔记本电脑上运行它,它崩溃并显示消息“非法指令(核心转储)”。在检查程序集时,我注意到我的函数似乎具有 AVX1“VEX”编码的 SSE2 指令,如下所示。

    .globl  _mm_lzcnt_epi32
    .type   _mm_lzcnt_epi32, @function
_mm_lzcnt_epi32:
.LFB5318:
    .cfi_startproc
    endbr64
    vmovdqa64   %xmm0, %xmm1
    vpsrld  $8, %xmm0, %xmm0
    vpandn  %xmm1, %xmm0, %xmm0
    vmovdqa64   .LC0(%rip), %xmm1
    vcvtdq2ps   %xmm0, %xmm0
    vpsrld  $23, %xmm0, %xmm0
    vpsubusw    %xmm0, %xmm1, %xmm0
    vpminsw .LC1(%rip), %xmm0, %xmm0
    ret
    .cfi_endproc
Run Code Online (Sandbox Code Playgroud)

如果我将头文件 immintrin.h 更改为 emmintrin.h,它会将我的代码正确编译为 SSE2 指令

    .globl  _mm_lzcnt_epi32
    .type   _mm_lzcnt_epi32, @function
_mm_lzcnt_epi32:
.LFB567:
    .cfi_startproc
    endbr64
    movdqa  %xmm0, %xmm1
    psrld   $8, %xmm0
    pandn   %xmm1, %xmm0
    cvtdq2ps    %xmm0, …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc header-files intrinsics

7
推荐指数
1
解决办法
166
查看次数

为什么我的 `zipAll` 会出现 OutOfMemoryError 错误以及如何修复它?

我正在尝试编写一个好的zipAll函数——不像 Scala 的函数,而是像 C++ 的函数zip_view:只是 Kotlin 的 zip,其中并行迭代任意数量的序列,长度等于最短。

我想出了:

fun <T> zipAll(vararg seq: Sequence<T>): Sequence<List<T>> {
    return sequence { 
        while (seq.all { it.iterator().hasNext() }) 
            yield(seq.map { it.take(1).first() }) 
    }
}

fun main() {
    val s = sequenceOf(1,2,3)
    val s2 = sequenceOf(3,4,5,6)    
    println(zipAll(s, s2).toList())
}
Run Code Online (Sandbox Code Playgroud)

但Kotlin Playground 给出了(编辑:使用我本地 IntelliJ Idea 中更完整的堆栈跟踪)

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.base/java.util.Arrays.copyOf(Arrays.java:3512)
    at java.base/java.util.Arrays.copyOf(Arrays.java:3481)
    at java.base/java.util.ArrayList.grow(ArrayList.java:237)
    at java.base/java.util.ArrayList.grow(ArrayList.java:244)
    at java.base/java.util.ArrayList.add(ArrayList.java:454)
    at java.base/java.util.ArrayList.add(ArrayList.java:467)
    at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:816)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

sequence kotlin

0
推荐指数
1
解决办法
49
查看次数

将文件写入闪存驱动器(仅限 Android)

是否可以使用 flutter 将文件保存到闪存驱动器?

我正在使用带有 USB c 端口的随身碟,如下所示: https ://www.bestbuy.com/site/sandisk-ultra-dual-drive-go-1tb-usb-type-a-usb-type-c-闪存驱动器-黑色/6560692.p?skuId=6560692

我发现这个问题: https://github.com/flutter/flutter/issues/40504

我已经尝试了几件事,但path_provider没有正确返回目录getExternalStorageDirectories()

我已经将权限添加到清单中并请求它permission_handler

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="28" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

我也尝试过file_picker await FilePicker.platform.getDirectoryPath();

但是,当选择闪存驱动器上的文件夹时,它返回的路径只是:/

我也尝试使用usb_serial:

final bytes = <int>[];

await yt.videos.streamsClient.get(audioStream).listen((chunk) {
  bytesReceived += chunk.length;
  bytes.addAll(chunk);

}, onDone: () async{
  MyLog.log('Done onDone');

}, onError: (error) async{
  MyLog.log('Done error: $error');

}).asFuture();

final devices = await UsbSerial.listDevices();
final port = await devices.first.create();
final openResult = await port?.open();

if ( …
Run Code Online (Sandbox Code Playgroud)

storage android usb-drive flutter

6
推荐指数
1
解决办法
380
查看次数

Redux-toolkit 出现错误,“`createSlice.extraReducers` 的对象符号已被删除

我正在尝试使用 redux-toolkit 来存储来自 api 的数据。我尝试过,但收到此错误,提示“对象表示法createSlice.extraReducers已被删除。请改用‘构建器回调’表示法”这是代码片段:

import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";

export const getAllJobs=createAsyncThunk("jobDetails",async ()=>{
    const data = await fetch(" http://localhost:3031/jobs");
    const result = data.json();
    return result
    
})


export const jobDetails=createSlice({
    name:"jobDetails",
    initialState:{
        jobs:[],
        loading:false,
        error:null,
    },
    extraReducers:{
        [getAllJobs.pending]: (state)=>{
            state.loading=true;
        },
        [getAllJobs.fulfilled]: (state,action)=>{
            state.loading=false;
            state.jobs=action.payload;
        },
        [getAllJobs.rejected]: (state,action)=>{
            state.loading=false;
            state.error=action.payload;
        },
    },
})


export default jobDetails.reducer;
Run Code Online (Sandbox Code Playgroud)

和商店

import {configureStore} from '@reduxjs/toolkit'
import  jobDetails  from '../features/jobSlice'


export const store= configureStore({
    reducer: {
        app: jobDetails
    },
})
Run Code Online (Sandbox Code Playgroud)

我正在尝试将获取的 …

reactjs redux-toolkit

2
推荐指数
1
解决办法
2195
查看次数

为什么使用 clang 15 在向量上调用 std::ranges::rotate 会导致“没有匹配的函数调用 '__begin'”错误?

我有以下函数可以旋转 char 向量:

void rotate()
{
    std::ranges::rotate(_right, _right.begin() + 1);
}
Run Code Online (Sandbox Code Playgroud)

_right 定义为:

 std::vector<char> _right;
Run Code Online (Sandbox Code Playgroud)

尝试用 clang 15 编译它,它抱怨(https://godbolt.org/z/7ovTfxe31):

 no matching function for call to '__begin'
Run Code Online (Sandbox Code Playgroud)

原因似乎如下:

in instantiation of template type alias 'iterator_t' requested here
  requires contiguous_iterator<iterator_t<_Derived>>
Run Code Online (Sandbox Code Playgroud)

但我假设向量是一个连续的容器。代码使用 GCC 编译并运行。

这是我的问题:

  1. 根据cppreference,上述调用应该是合法的调用,还是我错过了什么?
  2. 如果这是一个合法的调用,那么有什么方法可以让 clang 像 GCC 一样接受调用呢?

c++ compiler-bug clang++ c++20

4
推荐指数
1
解决办法
250
查看次数

我无法概括 ShellExecuteA 命令中的路径

如果我输入用户名,它就可以工作。但如果我像下面那样运行它,它就不会做任何事情。它应该可以在 Windows 10/11 上运行;我也是一个初学者,希望能获得有关使用的任何信息ShellExecuteA。

ShellExecuteA(NULL, "open", "rundll32.exe", "\"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen C:\\Users\\%USERNAME%\\Downloads\\[image name].png", NULL, SW_HIDE);
Run Code Online (Sandbox Code Playgroud)

这应该在 Windows 图像查看器中打开所述图像。如果我输入我的实际用户名而不是%USERNAME%.

至于我的目的,我想制作一个 C++ 程序来下载一张照片(让它工作)然后打开它;

c++ winapi

0
推荐指数
1
解决办法
111
查看次数

如何使用 Java Record 和数据库中的数据来填充 JavaFX TableView

简短问题:使用记录使用数据库中的数据填充 Java FX 表视图的最佳方法是什么?(而不是具有 getter 和 setter 的典型对象类)

完整的问题: 我最近创建了这个 InventoryRecord.java 文件来替换我用来填充表视图的名为“Inventory”的传统对象:

import java.util.List;

public record InventoryRecord(
        String make
        , String model
        , String officialModel
        , String upc
        , List<String> category
        , String type
        , String description
        ,String vendor
        , Double cost
        , Double price
        ) {}
Run Code Online (Sandbox Code Playgroud)

我想使用此记录作为我的框架,使用数据库中的数据填充我的 TableView(在本例中为 Neo4j,但这并不重要)

在拥有此 InventoryRecord 记录之前,我使用的是一个名为 Inventory 的典型类,如下所示(当然,为了保持问题的可读性,我已缩短它,假设 Inventory 的每个属性都有 getter/setter。)

public class Inventory {
    private String make;
    private String model;
    private String officialModel;
    private List<String> category;
    private String type;
    private String description; …
Run Code Online (Sandbox Code Playgroud)

java javafx maven controlsfx java-record

6
推荐指数
1
解决办法
91
查看次数