小编use*_*734的帖子

创建两个pandas Dataframe列的字典的最有效方法是什么?

组织以下pandas Dataframe的最有效方法是什么:

data =

Position    Letter
1           a
2           b
3           c
4           d
5           e
Run Code Online (Sandbox Code Playgroud)

进入一本字典alphabet[1 : 'a', 2 : 'b', 3 : 'c', 4 : 'd', 5 : 'e']

python dictionary dataframe pandas

101
推荐指数
5
解决办法
7万
查看次数

NaN和None之间有什么区别?

我正在使用pandas读取csv文件的两列,readcsv()然后将值分配给字典.列包含数字和字母的字符串.偶尔会出现一个单元格为空的情况.在我看来,读取到该字典条目的值应该是None,而是nan分配.当然,None它更具描述性,因为它具有空值,而nan只是说读取的值不是数字.

我的理解是否正确,None和之间的区别是nan什么?为什么nan分配而不是None

此外,我的字典检查任何空单元格一直在使用numpy.isnan():

for k, v in my_dict.iteritems():
    if np.isnan(v):
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个错误,说我不能使用这个检查v.我想这是因为要使用整数或浮点变量,而不是字符串.如果是这样,我该如何检查v"空单元格"/ nan案例?

python numpy nan pandas

83
推荐指数
2
解决办法
6万
查看次数

比较两个相同长度的int数组的最佳方法是什么?

将int数组b和c与a进行比较的最佳方法是什么?

int a[] = {0,1,0,0,1};
int b[] = {0,1,0,0,1};
int c[] = {1,1,0,0,1};
Run Code Online (Sandbox Code Playgroud)

b和c只是示例,假设它们可以是0和1的任意组合.

我试图检测与a相同的数组.我用谷歌搜索了一段时间,但没有找到满意的答案.

这是我意识到的初学者问题,谢谢你的耐心等待.

c arrays int compare c99

10
推荐指数
3
解决办法
3万
查看次数

程序不等待用户输入scanf("%c",&yn);

这是我正在使用C语言编写的程序的基本代码.我试图检测输出文件是否已经存在,如果它确实存在,我想询问用户是否要覆盖它.这就是我首先使用fopen(outfilename,"r")打开outfilename文件的原因; 而不是fopen(outfilename,"w");.

它检测文件不存在的情况,但是,如果它确实存在则执行printf("输出文件已存在,覆盖(y/n):"); 声明但完全忽略了scanf("%c",&yn); 声明!

如果文件不存在,程序末尾的printf读取"yn = 0",如果存在,则读取"yn =".有谁能够帮我?

#include <stdio.h>
#include <stdlib.h>
#include <float.h>
#include <string.h>

int main(void) {
    FILE *inf;
    FILE *outf;
    char filename[21],outfilename[21];
    char yn='0';

    printf("Please enter an input filename: ");
    scanf("%s",&filename);

    printf("Please enter an output filename: ");    
    scanf("%s",&outfilename);

    /* Open file for reading */
    inf=fopen (filename,"r");
    outf=fopen(outfilename,"r");

    /*check that input file exists*/
    if (inf!=NULL) {

        /*check that the output file doesn't already exist*/
        if (outf==NULL){
            fclose(outf);
            /*if it doesn't already exist create file by opening in …
Run Code Online (Sandbox Code Playgroud)

c scanf file-pointer

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

从pandas Dataframe中提取特定列中具有特定值的所有行

我对Python/Pandas比较陌生,并且正在努力从pd.Dataframe中提取正确的数据.我实际拥有的是一个包含3列的Dataframe:

data =

Position Letter Value
1        a      TRUE
2        f      FALSE
3        c      TRUE
4        d      TRUE
5        k      FALSE
Run Code Online (Sandbox Code Playgroud)

我想要做的是将所有TRUE行放入一个新的Dataframe中,这样答案就是:

answer = 

Position Letter Value
1        a      TRUE
3        c      TRUE
4        d      TRUE
Run Code Online (Sandbox Code Playgroud)

我知道您可以使用访问特定列

data['Value']
Run Code Online (Sandbox Code Playgroud)

但是如何提取所有TRUE行?

感谢您的帮助和建议,

亚历克斯

python dataframe pandas

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

检查字典键是否包含任何其他字典的键和打印匹配对

我的问题可能很简单,但是我一直困惑于许多方法,并且似乎无法在不使用许多for循环的情况下找到有效的答案.

我有一本字典:

my_dict = {'full_name1' : 1, 
           'full_name2' : 2,
           'full_name3' : 3}
Run Code Online (Sandbox Code Playgroud)

我也有这本词典:

another_dict = {'name1' : 'x', 
                'name2' : 'y',
                'name3' : 'z'}
Run Code Online (Sandbox Code Playgroud)

我想要的是生成第三个字典,如下所示:

third_dict = {1 : 'x', 
              2 : 'y',
              3 : 'z'}
Run Code Online (Sandbox Code Playgroud)

my_dict键的值是third_dict对应的值的键another_dict.这对我来说很容易,除了前两个词典的键名不相同.我假设密钥名称another_dict将始终是那些中的一部分my_dict,但是并非所有密钥my_dict都具有匹配的密钥another_dict.

我当前的,错误的,低效的方法:

    third_dict={}

    for key in my_dict:
        for sub_key in another_dict:
            if sub_key in key:
                for key in my_dict:
                    third_dict[my_dict[key]] = another_dict[sub_key]
Run Code Online (Sandbox Code Playgroud)

编辑:正如所建议的那样,看看如何处理异常会很有趣.例如,如果another_dict有一个条目,它与my_dict中的条目不匹配,反之亦然?或者如果another_dict有剩余条目怎么办?

python dictionary key contains key-value

3
推荐指数
1
解决办法
1761
查看次数

将属性添加到类列表以返回具有特定属性的所有对象

我有以下问题:

让我们来设置场景!

假设我有一个具有一些基本属性的类 Person:

class Person(object):
    def __init__(self, name=None, gender=None, single=None):
        self.name=name
        self.gender=gender
        self.single=single
Run Code Online (Sandbox Code Playgroud)

我创建了一个名为 Dating 的列表类,它将保存所有 Person 对象

class Dating(object):
    def __init__(self):
        self.members=[]

My_People=Dating()

My_People.members.append(Person("Jack","Male",False))
My_People.members.append(Person("Jill","Female",True))
My_People.members.append(Person("George","Male",True))
My_People.members.append(Person("Sandy","Female",False))
Run Code Online (Sandbox Code Playgroud)

是的,那么问题是什么?

是否可以通过创建某种属性来为列表类分配属性以访问 My_People 列表的单个成员,例如:

My_People.members.singles
Run Code Online (Sandbox Code Playgroud)

所以这将返回具有单个 == True属性的 Person 对象列表?

感谢所有的帮助。(顺便说一句,我以前对 Python 的经验很少)

python attributes class list filter

3
推荐指数
1
解决办法
6613
查看次数

排序此列表的最佳方法是什么?

我有以下列表:

my_list = ['name.13','name.1', 'name.2','name.4', 'name.32']
Run Code Online (Sandbox Code Playgroud)

我希望对列表进行排序并按顺序打印出来,就像这样

name.1
name.2
name.4
name.13
name.32
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的是:

print sorted(my_list)

name.1
name.13
name.2
name.32
name.4
Run Code Online (Sandbox Code Playgroud)

sorted()命令显然按字母顺序处理字符串.也许在检测到.第一个之后用数字排序会更好吗?

有没有一个好的方法来正确排序?什么是最有效的方法?我如何应用这个是我有一个元组列表,并希望使用元组的第二个元素对它进行排序?例如:

tuple_list = [('i','name.2'),('t','name.13'),('s','name.32'),('l','name.1'),('s','name.4')]

print tuple_list
'l','name.1'
'i','name.2'
's','name.4'
't','name.13'
's','name.32'
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,如果您认为可以改进/澄清问题,请一如既往地发表评论.

亚历克斯

python sorting list sorted

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

当我使用Borland C++构建光标时,为什么这段代码没有正确定位光标?

我发现此代码仅用于gotoxy()使用C标准库的替换函数.显然它编译使用GCC和工作方式类似于gotoxy()中发现的conio.h.

但是我只有用Borland C++编译器V5.5,该编译罚款,但不会重新像光标gotoxy()conio.h做.任何人都可以在使用GCC时验证这是否有效,或者告诉我为什么使用Borland不起作用?

#include<stdio.h>
#include<stdlib.h>

void gotoxy(int x, int y)
{
    printf("%c[%d;%df", 0x1B, y, x);
}

int main()
{
    gotoxy(10, 10);
    printf("hello world");
}
Run Code Online (Sandbox Code Playgroud)

c gcc c++builder c99 borland-c++

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