小编jpp*_*jpp的帖子

如何根据对象的属性对对象列表进行排序?

我有一个Python对象列表,我想根据对象本身的属性进行排序.该列表如下:

>>> ut
[<Tag: 128>, <Tag: 2008>, <Tag: <>, <Tag: actionscript>, <Tag: addresses>,
 <Tag: aes>, <Tag: ajax> ...]
Run Code Online (Sandbox Code Playgroud)

每个对象都有一个计数:

>>> ut[1].count
1L
Run Code Online (Sandbox Code Playgroud)

我需要按递减计数的数量对列表进行排序.

我已经看过几种方法,但我正在寻找Python的最佳实践.

python sorting oop list count

724
推荐指数
8
解决办法
48万
查看次数

当用于除法时,'/'和'//'之间有什么区别?

使用一个比另一个有好处吗?在Python 2中,它们似乎都返回相同的结果:

>>> 6/3
2
>>> 6//3
2
Run Code Online (Sandbox Code Playgroud)

python math syntax operators

431
推荐指数
9
解决办法
50万
查看次数

在Python中,如何按排序键顺序迭代字典?

现有的函数以下结尾,其中d是字典:

return d.iteritems()
Run Code Online (Sandbox Code Playgroud)

返回给定字典的未排序迭代器.我想返回一个遍历按键排序的项目的迭代器.我怎么做?

python sorting dictionary

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

如何阅读带有pandas的6 GB csv文件

我试图在pandas中读取一个大的csv文件(aprox.6 GB),我收到以下内存错误:

MemoryError                               Traceback (most recent call last)
<ipython-input-58-67a72687871b> in <module>()
----> 1 data=pd.read_csv('aphro.csv',sep=';')

C:\Python27\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format)
    450                     infer_datetime_format=infer_datetime_format)
    451 
--> 452         return _read(filepath_or_buffer, kwds)
    453 
    454     parser_f.__name__ …
Run Code Online (Sandbox Code Playgroud)

python memory csv chunks pandas

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

使用pandas.to_datetime时仅保留日期部分

pandas.to_datetime用来解析数据中的日期.Pandas默认表示日期,datetime64[ns]即使日期仅为每日日期.我想知道是否有一种优雅/巧妙的方式将日期转换为datetime.date或者datetime64[D]当我将数据写入CSV时,日期不会附加00:00:00.我知道我可以逐个元素地手动转换类型:

[dt.to_datetime().date() for dt in df.dates]
Run Code Online (Sandbox Code Playgroud)

但这真的很慢,因为我有很多行,这有点挫败了使用的目的pandas.to_datetime.有没有办法立即转换dtype整个列?或者,是否pandas.to_datetime支持精度规范,以便在处理日常数据时可以摆脱时间部分?

python csv datetime series pandas

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

不区分大小写'in' - Python

我喜欢用这个表达方式

if 'MICHAEL89' in USERNAMES:
    ...
Run Code Online (Sandbox Code Playgroud)

USERNAMES列表在哪里


有没有办法匹配不区分大小写的项目或我需要使用自定义方法?只是想知道是否需要为此编写额外的代码.

谢谢大家!

python string list case-insensitive

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

如何获得小数点后的数字?

如何获得小数点后的数字?

例如,如果我有5.55,我怎么得到.55

python floating-point decimal

101
推荐指数
9
解决办法
15万
查看次数

有条件的替换熊猫

我可能做的事非常愚蠢,但我很难过.

我有一个数据框,我想替换特定列中超过零值的值.我原以为这是实现这个目标的一种方式:

df[df.my_channel > 20000].my_channel = 0
Run Code Online (Sandbox Code Playgroud)

如果我将频道复制到新的数据框中,那很简单:

df2 = df.my_channel 

df2[df2 > 20000] = 0
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,但似乎不能将频道作为原始数据帧的一部分.

python replace series conditional-statements pandas

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

DataFrame中的字符串,但dtype是对象

为什么Pandas告诉我我有对象,尽管所选列中的每个项都是一个字符串 - 即使在显式转换之后也是如此.

这是我的DataFrame:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 56992 entries, 0 to 56991
Data columns (total 7 columns):
id            56992  non-null values
attr1         56992  non-null values
attr2         56992  non-null values
attr3         56992  non-null values
attr4         56992  non-null values
attr5         56992  non-null values
attr6         56992  non-null values
dtypes: int64(2), object(5)
Run Code Online (Sandbox Code Playgroud)

其中五个是dtype object.我明确地将这些对象转换为字符串:

for c in df.columns:
    if df[c].dtype == object:
        print "convert ", df[c].name, " to string"
        df[c] = df[c].astype(str)
Run Code Online (Sandbox Code Playgroud)

然后,df["attr2"]仍然有dtype object,虽然type(df["attr2"].ix[0]揭示str,这是正确的. …

python types numpy series pandas

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

pandas dataframe groupby datetime month

考虑一个csv文件:

string,date,number
a string,2/5/11 9:16am,1.0
a string,3/5/11 10:44pm,2.0
a string,4/22/11 12:07pm,3.0
a string,4/22/11 12:10pm,4.0
a string,4/29/11 11:59am,1.0
a string,5/2/11 1:41pm,2.0
a string,5/2/11 2:02pm,3.0
a string,5/2/11 2:56pm,4.0
a string,5/2/11 3:00pm,5.0
a string,5/2/14 3:02pm,6.0
a string,5/2/14 3:18pm,7.0
Run Code Online (Sandbox Code Playgroud)

我可以阅读此内容,并将日期列重新格式化为datetime格式:

b=pd.read_csv('b.dat')
b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p')
Run Code Online (Sandbox Code Playgroud)

我一直试图按月对数据进行分组.似乎应该有一种明显的方式来访问月份和分组.但我似乎无法做到这一点.有谁知道怎么样?

我目前正在尝试的是按日期重新编制索引:

b.index=b['date']
Run Code Online (Sandbox Code Playgroud)

我可以这样访问这个月:

b.index.month
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法找到一个按月累计的功能.

python datetime pandas pandas-groupby

68
推荐指数
5
解决办法
9万
查看次数