小编use*_*203的帖子

熊猫每排第n行

Dataframe.resample()仅适用于时间序列数据.我找不到从非时间序列数据中获取每一行的方法.什么是最好的方法?

python resampling pandas

85
推荐指数
4
解决办法
6万
查看次数

如何将数字舍入到选定的整数

在丹麦,我们有一个奇怪的评级系统如下.[-3,00,02,4,7,10,12]我们的任务是采用具有不同十进制数的向量,并将其四舍五入到最接近的有效等级.到目前为止,这是我们的代码.

import numpy as np

def roundGrade(grades):    
    if (-5<grades<-1.5):
        gradesRounded = -3
    elif (-1.5<=grades<1.5):
        gradesRounded = 00
    elif (1.5<=grades<3):
        gradesRounded = 2
    elif (3<=grades<5.5):
        gradesRounded = 4
    elif (5.5<=grades<8.5):
        gradesRounded = 7
    elif (8.5<=grades<11):
        gradesRounded = 10
    elif (11<=grades<15):
        gradesRounded = 12
    return gradesRounded

print(roundGrade(np.array[-2.1,6.3,8.9,9]))
Run Code Online (Sandbox Code Playgroud)

我们的控制台似乎不喜欢这样并返回:TypeError:builtin_function_or_method'对象不可订阅

感谢所有帮助,如果您有更聪明的方法,欢迎您将我们放在我们的位置.

python numpy rounding

16
推荐指数
2
解决办法
2694
查看次数

用n替换numpy数组中的多个元素

在给定的numpy数组中X:

X = array([1,2,3,4,5,6,7,8,9,10])
Run Code Online (Sandbox Code Playgroud)

我想分别替换索引(2, 3)(7, 8)单个元素-1,如:

X = array([1,2,-1,5,6,7,-1,10])
Run Code Online (Sandbox Code Playgroud)

换句话说,我用一个奇异的值替换了索引(2, 3)(7,8)原始数组的值.

问题是:它周围是否有一种numpy-ish方式(即没有for循环和使用python列表)?谢谢.

注意:这不等于用另一个元素就地替换单个元素.它用"奇异"值替换多个值.谢谢.

python arrays numpy

15
推荐指数
2
解决办法
1340
查看次数

在字典中打印顶部"n"条目

这是我目前的代码

pN ={'dave': 10, 'jacinta': 10, 'james': 8, 'john': 6, 'jack': 3, 'sam': 2}
highestCount = max(pN.values())

for k, v in pN.items():
  if v == highestCount:
    print(v,k)
Run Code Online (Sandbox Code Playgroud)

但是,这仅打印顶级用户,如果共享该位置,则再次打印它

10 dave
10 jacinta
Run Code Online (Sandbox Code Playgroud)

我需要能够打印任意数量的顶级用户(n)并将其格式化为例如n = 5:

10 john, jacinta, 
8 james
6 john
3 jack
2 sam
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

从 Pandas Column 解压字典

我有一个数据框,其中一列作为字典。我想将它解包成多列(即代码,金额是下面原始列格式中的单独列)。以下代码用于使用 pandas v0.22,现在 (0.23) 给出索引错误:

pd.DataFrame.from_records(df.col_name.fillna(pd.Series([{'code':'not applicable'}], index=df.index)).values.tolist())

ValueError: Length of passed values is 1, index implies x
Run Code Online (Sandbox Code Playgroud)

我在 google/stack overflow 上搜索了几个小时,以前的其他解决方案都没有工作了。

原始列格式:

     dict_codes
0   {'code': 'xx', 'amount': '10.00',...
1   {'code': 'yy', 'amount': '20.00'...
2   {'code': 'bb', 'amount': '30.00'...
3   {'code': 'aa', 'amount': '40.00'...
10  {'code': 'zz', 'amount': '50.00'...
11                            NaN
12                            NaN
13                            NaN
Run Code Online (Sandbox Code Playgroud)

有没有人有什么建议?

谢谢

python dictionary python-3.x pandas

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

熊猫:如何使用LocIndexer?

我试图弄清楚如何使用Locindexer对象来选择数据帧的子集.

例如

var = df.loc(df['rating'] == 4)

返回为

pandas.core.indexing._LocIndexer

如何使用LocIndexer选择数据帧的子集?

python pandas

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

根据空值的百分比删除pandas数据帧中的列

我有一个大约60列和200万行的数据帧.有些列大多是空的.我使用此函数计算了每列中的空值百分比.

def missing_values_table(df): 
    mis_val = df.isnull().sum()
    mis_val_percent = 100 * df.isnull().sum()/len(df)
    mis_val_table = pd.concat([mis_val, mis_val_percent], axis=1)
    mis_val_table_ren_columns = mis_val_table.rename(
    columns = {0 : 'Missing Values', 1 : '% of Total Values'})
    return mis_val_table_ren_columns
Run Code Online (Sandbox Code Playgroud)

现在我想删除缺少80%以上(例如)值的列.我尝试了以下代码但它似乎没有工作.

df = df.drop(df.columns[df.apply(lambda col: col.isnull().sum()/len(df) > 0.80)], axis=1)
Run Code Online (Sandbox Code Playgroud)

先感谢您.希望我不会遗漏一些非常基本的东西

我收到此错误

TypeError :("'generator'对象不可调用",u'Ccurred在索引Unique_Key')

python pandas

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

如何使用 python3 将 CIDR 转换为 IP 范围?

如何转换列表,例如:

94.192.0.0/14  
94.0.0.0/12  
93.96.0.0/16 
Run Code Online (Sandbox Code Playgroud)

到:

94.192.0.0-94.195.255.255  
94.0.0.0-94.15.255.255  
93.96.0.0-93.96.255.255  
Run Code Online (Sandbox Code Playgroud)

使用python3?

python ip cidr python-3.x

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

只选择字符串C++中的前几个字符

我想用C++选择字符串的前8个字符.现在我创建一个长度为8个字符的临时字符串,并用另一个字符串的前8个字符填充它.

但是,如果另一个字符串不是8个字符长,我留下了不需要的空格.

string message = "        ";

const char * word = holder.c_str();

for(int i = 0; i<message.length(); i++)
    message[i] = word[i];
Run Code Online (Sandbox Code Playgroud)

如果word"123456789abc",此代码正常工作并message包含"12345678".

但是,如果word更短,那么"1234"消息最终就会出现"1234 "

如何选择字符串的前八个字符,如果短于8个字符,则如何选择整个字符串?

c++ string c-strings

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

tqdm 的总参数有什么作用?

两者有什么区别?tqdm 环绕任何可迭代对象。但是我不确定 tqdm 在给定两个参数时如何运行。

# train_ids = list
elements = ('a', 'b', 'c')
for count, ele in tqdm(enumerate(elements)):
    print(count, i)
# two arguments
for count, ele in tqdm(enumerate(elements), total=len(train_ids)):
    print(count, i)
Run Code Online (Sandbox Code Playgroud)

python tqdm

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

标签 统计

python ×9

pandas ×4

dictionary ×2

numpy ×2

python-3.x ×2

arrays ×1

c++ ×1

c-strings ×1

cidr ×1

ip ×1

resampling ×1

rounding ×1

string ×1

tqdm ×1