小编dat*_*ata的帖子

python数据帧转换多个日期时间格式

我有一个像这样的pandas.dataframe('col'列有两种格式):

    col                            val
'12/1/2013'                       value1
'1/22/2014 12:00:01 AM'           value2
'12/10/2013'                      value3
'12/31/2013'                      value4 
Run Code Online (Sandbox Code Playgroud)

我想将它们转换为datetime,我正在考虑使用:

test_df['col']= test_df['col'].map(lambda x: datetime.strptime(x, '%m/%d/%Y'))    
test_df['col']= test_df['col'].map(lambda x: datetime.strptime(x, '%m/%d/%Y %H:%M %p'))
Run Code Online (Sandbox Code Playgroud)

显然,它们中的任何一个都适用于整个df.我正在考虑使用尝试,除了但没有任何运气,任何建议?

python datetime dataframe pandas

9
推荐指数
2
解决办法
4304
查看次数

Pythonic计算计数器中值的均值和方差的方法

我想知道是否有一种Pythonic方法来计算计数器的均值和方差?

例如,我有四个计数器共享相同的键:

a = Counter({1: 23, 2: 39, 3: 1})
b = Counter({1: 28, 2: 39, 3: 1})
c = Counter({1: 23, 2: 39, 3: 2})
d = Counter({1: 23, 2: 22, 3: 1})
Run Code Online (Sandbox Code Playgroud)

我这样做的方法是:

each_key_val = {}

for i in a.keys():  # The assumption here is that all Counters must share the same keys
    for j in [a, b, c, d]:
        try:
            each_key_val[i].append(j[i])       
        except:
            each_key_val[i] = [j[i]]
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码来查找每个键的均值/方差:

 np.mean(each_key_val[i])
 np.var(each_key_val[i])
Run Code Online (Sandbox Code Playgroud)

与我的方式相比,是否有更简单的方法来计算每个键的均值/方差?

python performance counter

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

Python将txt文件读入数字列表列表

我的txt文件是这样的:

[[1,3,5],[1,4,4]]
[[1,4,7],[1,4,8],[2,4,5]]
Run Code Online (Sandbox Code Playgroud)

我试图将它转换成一个列表,其中包含 txt 文件中的所有列表。因此,我的示例所需的输出是:

[[[1,3,5],[1,4,4]], [[1,4,7],[1,4,8],[2,4,5]]]
Run Code Online (Sandbox Code Playgroud)

这似乎是一项简单的任务,只是我只能得到这个:

['[[1,3,5],[1,4,4]]', '[[1,4,7],[1,4,8],[2,4,5]]']
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将字符串类型转换为列表?


我使用的代码:

input_list = []
with open("./the_file.txt", 'r') as f:
    lines = f.read().split('\n')
    for each_line in lines:
        input_list.append(each_line)

f.close()
Run Code Online (Sandbox Code Playgroud)

python

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

Oracle SQL 随机排序

在我的数据库中,每个 ID 都有多个记录。在我的输出中,我想按日期为每个 ID 对行进行排序,而 ID 最终会随机显示。

这是我的代码,它有效但显示排序的 ID,没有随机 ID:

SELECT ID,  VALUE, DATE
FROM TABLE
ORDER BY ID, DATE DESC;
Run Code Online (Sandbox Code Playgroud)

我试着把它改成

SELECT ID,  VALUE, DATE
FROM TABLE
ORDER BY ID, dbms_random.value, DATE DESC;
Run Code Online (Sandbox Code Playgroud)

但它不起作用并给了我这个错误:

ORA-01652: unable to extend temp segment by 64 in tablespace TEMP01
Run Code Online (Sandbox Code Playgroud)

我的猜测是我没有更多的磁盘可以分配给我的 TEMP 表空间,但是如何修改它?此外,我不确定我是否正确使用了 dbms_random.value,是吗?


为了进一步说明我最终显示随机 ID 的想法,请参见以下示例:

原文:

ID    VALUE    DATE
1     200     1/2/2013
1     300     3/26/2013
2     200     2/2/2013
3     100     2/3/2015
3     500     6/21/2014
3     200     5/3/2014
Run Code Online (Sandbox Code Playgroud)

期望:

ID    VALUE    DATE
2 …
Run Code Online (Sandbox Code Playgroud)

sql sorting oracle

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

标签 统计

python ×3

counter ×1

dataframe ×1

datetime ×1

oracle ×1

pandas ×1

performance ×1

sorting ×1

sql ×1