小编scr*_*lex的帖子

具有缺失值的列子集的行方式平均值

我有一个'DataFrame`偶尔有缺失值,看起来像这样:

          Monday         Tuesday         Wednesday 
      ================================================
Mike        42             NaN               12
Jenna       NaN            NaN               15
Jon         21              4                 1
Run Code Online (Sandbox Code Playgroud)

我想新添加column到我的数据帧在那里我会计算所有的平均值columns为每row.

意思,因为Mike,我需要 (df['Monday'] + df['Wednesday'])/2,但因为Jenna,我只是使用df['Wednesday amt.']/1

有没有人知道解决由于缺失值导致的这种变化并计算平均值的最佳方法?

python dataframe pandas

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

我可以在pandas中设置可变列宽吗?

我在pandas数据框中有多个带有长字符串的列,但我只对检查其中一个有兴趣.有没有办法使用的线沿线的东西的方式pd.set_option('max_colwidth', 60),但对于单个列而已,而不是扩大所有列的宽度,在我的DF?

python pandas

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

如何计算pandas数据框中连续行之间的差异?

我有一个数据帧df,有三列:count_a,count_bdate; 计数是浮点数,日期是2015年的连续日期.

我试图弄清楚每一天在列count_acount_b列中的计数之间的差异- 意思是,我正在尝试计算这两列中每行和前一行之间的差异.我已将日期设为索引,但我无法确定如何执行此操作; 有一些关于使用的提示pd.Series,pd.DataFrame.diff但我没有找到适用的答案或一套说明.

我有点卡住了,并希望得到一些指导.

这是我的数据框架的样子:

df=pd.Dataframe({'count_a': {Timestamp('2015-01-01 00:00:00'): 34175.0,
  Timestamp('2015-01-02 00:00:00'): 72640.0,
  Timestamp('2015-01-03 00:00:00'): 109354.0,
  Timestamp('2015-01-04 00:00:00'): 144491.0,
  Timestamp('2015-01-05 00:00:00'): 180355.0,
  Timestamp('2015-01-06 00:00:00'): 214615.0,
  Timestamp('2015-01-07 00:00:00'): 250096.0,
  Timestamp('2015-01-08 00:00:00'): 287880.0,
  Timestamp('2015-01-09 00:00:00'): 332528.0,
  Timestamp('2015-01-10 00:00:00'): 381460.0,
  Timestamp('2015-01-11 00:00:00'): 422981.0,
  Timestamp('2015-01-12 00:00:00'): 463539.0,
  Timestamp('2015-01-13 00:00:00'): 505395.0,
  Timestamp('2015-01-14 00:00:00'): 549027.0,
  Timestamp('2015-01-15 00:00:00'): 595377.0,
  Timestamp('2015-01-16 00:00:00'): 649043.0,
  Timestamp('2015-01-17 00:00:00'): 707727.0,
  Timestamp('2015-01-18 00:00:00'): 761287.0,
  Timestamp('2015-01-19 00:00:00'): …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何将包含字典列表的 JSON 文件读取到 Pandas 数据框中?

我在 JSON 文件中有一个字典列表,如下所示:

[{"url": "http://www.URL1.com", "date": "2001-01-01"}, 
 {"url": "http://www.URL2.com", "date": "2001-01-02"}, ...]
Run Code Online (Sandbox Code Playgroud)

但是我正在努力将它导入到熊猫数据框中 - 这应该很容易,但我对此感到茫然。任何人都可以让我直接在这里?

同样,简单地将其读入字典列表以在 python 中使用的最佳方法是什么?

python json pandas

5
推荐指数
2
解决办法
7016
查看次数

如何根据字符串值列表对熊猫数据框进行子集设置?

我有一个dF,它的长度超过10万行,宽度为几列-没什么疯狂的。我试图基于约4000个字符串的列表来对行进行子集化,但是却在努力寻找方法。有没有办法使用类似的子集。

dF看起来像这样

dog_name    count
===================
Jenny        2
Fido         4
Joey         7
Yeller       2
Run Code Online (Sandbox Code Playgroud)

字符串列表包含变量 dog_name_list=['Fido', 'Yeller']

我已经尝试了的类似方法 df[df['dog_name'].isin(dog_name_list),但遇到了一个有趣的错误:unhashable type: 'list'

我已经通过查看列表中是否存在值来检查了类似的问题文档细分数据集的框架,但这使我无处可去,而我对丢失的内容感到有些困惑。真的会感谢别人的建议!

python pandas

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

使用for循环重命名熊猫数据框列

我不确定这是否是愚蠢的方法,但是我有几个数据帧,所有数据帧都有相同的列。我需要重命名每个列中的列以反映每个数据框的名称(此后,我将对所有这些列进行外部合并)。

比方说,数据帧被称为df1df2并且df3,每个包含列namedatecount

我想每一列重命名df1name_df1date_df1count_df1

我编写了一个函数来重命名列,因此:

df_list=[df1, df2, df3]

def rename_cols():
    col_name="name"+suffix
    col_count="count"+suffix
    col_date="date"+suffix

for x in df_list:
    if x['name'].tail(1).item() == df1['name'].tail(1).item():
        suffix="_"+"df1"
        rename_cols()
        continue
    elif x['name'].tail(1).item() == df2['name'].tail(1).item():
        suffix="_"+"df2"
        rename_cols()
        continue
    else:
        suffix="_"+"df3"
        rename_cols()

    col_names=[col_name,col_date,col_count]
    x.columns=col_names
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下错误: KeyError: 'name'

我真的很难弄清楚为什么会这样。df1的列(的第一个数据帧df_list)被重命名。其他所有内容都保持不变...我是在搞乱基本语法(可能是),还是我对事情应该如何工作有根本的误解?

据我所知,列表中的第一个数据帧将不止一次地迭代-但是为什么会这样呢?

python pandas

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

计算熊猫数据框中的所有类别并添加它们的值

我有一个看起来像这样的数据框:

           Dog_breed       Dog_name             Points 
      ============================================================
Monday        Pug            George               12
Tuesday       Poodle         Fido                -15
Wednesday     Pug            Buddy                 8
Thursday      Dachshund      Lyla                -10
Friday        Poodle         Remi                  9
Saturday      Pug            Kermit               -5
Sunday        Beagle         Sara                  3
Run Code Online (Sandbox Code Playgroud)

对于每个品种的狗(即类别),我需要得到点的总和——对于某些行,它是正数,而对于某些行,它是负数——以及该品种的狗的数量。

目标是将每个品种的所有点加起来,计算每个品种在原始数据集中出现的次数,最终得到如下所示的数据框:

             Quantity     Overall_point_change
          ============================================
Pug             3                  15
Poodle          2                  -6
Dachshund       1                 -10
Beagle          1                   3
Run Code Online (Sandbox Code Playgroud)

大熊猫可以这样做,还是需要循环?真的很难解决这个问题——有人可以推荐一种设置方法吗?

python dataframe pandas

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

如何计算值在 R 中的子组中出现的实例数?

我有一个正在 R 中使用的数据框,我正在尝试检查某个值在其较大的关联组中出现的次数。具体来说,我正在尝试计算为每个特定国家/地区列出的城市数量。

我的数据看起来像这样:

City              Country
=========================
New York           US
San Francisco      US
Los Angeles        US
Paris             France
Nantes            France
Berlin            Germany
Run Code Online (Sandbox Code Playgroud)

似乎 table() 是要走的路,但我不太明白——我怎么能找出每个国家有多少个城市?也就是说,如何找出一列中有多少字段与另一列中的特定值相关联?

编辑:

我希望有类似的东西

3    US
2    France
1    Germany
Run Code Online (Sandbox Code Playgroud)

r

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

如果在C中没有显式命令,while循环如何递增?

我是C的新手,并且已经盯着这段代码了一段时间:

void readEntireFile(){
    int ch;
    FILE *fp;  // pointer to a file type
    fp = fopen("/some/path/file", "r"); // Change to match your path
    ch = getc(fp);
    while (ch != EOF){  // keep looping until End Of File
        putchar(ch);    // print the characters read
        ch = getc(fp);
    }
    fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

此函数创建一个指向文件的指针,获取第一个字符,只要该字符不是EOF字符,就打印出char.这一直持续到达到EOF字符.

我的问题很简单:为什么每次指针继续指向下一个字符?我看不出它是如何增加的,我真的很困惑!

编辑:除了下面的答案,这个问题也帮助我理解.

c

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

标签 统计

pandas ×7

python ×7

dataframe ×2

c ×1

json ×1

r ×1