社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

DYZ

DYZ 最近创建的主题
DYZ 最近回复了
3 年前
回复了 DYZ 创建的主题 » 在python中将Y-m-DH:m:S格式转换为int格式

最一致的方法(防止偶然出现奇数日期)是将列转换为datetimes,然后再转换为字符串:

pd.to_datetime(data_A.time).dt.strftime('%Y%m%d%H%M%S').astype(int)
#0    20200101000000
#1    20200101000020
#Name: time, dtype: int64

但是自从你 time 本质上是字符串,可以通过标点符号将其拆分,然后连接:

data_A.time.str.split('\W').str.join('').astype(int)
#0    20200101000000
#1    20200101000020
#Name: time, dtype: int64

第二种解决方案大约快40%。

3 年前
回复了 DYZ 创建的主题 » 如何洗牌非常大。python中带有标题的csv文件?

将文件内容复制到另一个不带标题的文件中:

with open("words.txt") as infile, open("words-nohead.txt", "w") as outfile:
    for i,line in enumerate(infile):
        if i: outfile.write(line)

然后洗牌无头文件。然后将第一个文件的第一行和无头文件复制到无序的单词中。txt(我想你可以用 sh.cat() 并删除临时文件。

实际上,这并不需要Python。仅Bash就足够了:

head -n 1 words.txt > shuffled_words.txt    
tail -n+2 words.txt | shuf >> shuffled_words.txt

记住 shuf 无论如何,还是要在内存中读取整个文件。你必须有足够的内存来存储这个文件。

6 年前
回复了 DYZ 创建的主题 » 删除冒号Python后面的数字

我会用正则表达式。用空字符串替换后跟一个或两个数字的冒号

re.sub(":\d{1,2}", "", oldtime)
#'1 pm'

或者,按冒号分隔,然后按空格分隔并组合各部分:

oldtime.split(":")[0] + " " + oldtime.split()[1]
#'1 pm'

后者只有在前面有一个空间时才起作用 下午/上午 .

list1, list2, list3 = [[test[i] for i in index ] 
                       for index in (index1, index2, index3)]
5 年前
回复了 DYZ 创建的主题 » Python-string.split()但忽略单个空格(例如单词之间)

使用正则表达式拆分两个或多个空格:

import re
re.split("\s{2,}", string)
#['ABC DEF', 'GHI JK', 'LMNO P']
5 年前
回复了 DYZ 创建的主题 » Python如何在不发生此错误的情况下发送电子邮件

你的文件被调用 email.py smtplib . 因此, 进口 你的

5 年前
回复了 DYZ 创建的主题 » 如何在python中合并同一数据帧中的行?

也许有更好的方法,但是这个解决方案可以扩展到任意数量的行。

df['order'] = df.groupby('TEAM').cumcount() + 1
df.set_index(['TEAM','order']).unstack()
#       A1      A2         
#order   1   2   1   2  
#TEAM                       
#BC     35  41  11  12  
#HC     22  27  20  70  
#TC     25  31  50  14  
6 年前
回复了 DYZ 创建的主题 » 如何在python上创建块矩阵?

这有点棘手,必须分别构造每个列,然后组合这些列:

A = np.concatenate([np.concatenate([M, M]), 
                    np.concatenate([M, M])], axis=1)
#matrix([[1, 2, 1, 2],
#        [3, 4, 3, 4],
#        [1, 2, 1, 2],
#        [3, 4, 3, 4]])
5 年前
回复了 DYZ 创建的主题 » python方法1变量嵌套字典

你可以使用 functools.reduce ,但在幕后,它使用的是迭代,并且可能不如显式迭代有效:

from functools import reduce

def foo(d, keys):
    return reduce(lambda x, y: x[y], keys, d)

foo(dct, ['hits', 'hits', 'a'])
#'b'
6 年前
回复了 DYZ 创建的主题 » python:从对象列表中删除几乎重复的内容

建立一个反向字典。由于字典键总是唯一的,因此会自然地消除重复:

l = [(1051,97),(1051,132),(1048,132),(1048,283),(1048,438)]
[(x,y) for y,x in {y:x for x,y in l}.items()]
#[(1051, 97), (1048, 132), (1048, 283), (1048, 438)]

这种解决办法不能维持秩序。

6 年前
回复了 DYZ 创建的主题 » 使用python解析以字节形式传入的api响应

响应本质上是一个csv表。将其解码为字符串并使用csv读取器(例如,来自pandas)读取:

import io
import pandas as pd
response_df = pd.read_csv(io.StringIO(response.content.decode()))
#  studentName     Dept  Env  result  Unnamed: 4
#0        abcd  science  dev    pass         NaN
#1        decf     math  dev    fail         NaN

最后一列是每行末尾有孤立逗号的结果。你可以放下它:

df.dropna(axis=1, inplace=True)
#  studentName     Dept  Env  result
#0        abcd  science  dev    pass
#1        decf     math  dev    fail
6 年前
回复了 DYZ 创建的主题 » [pandas,python];在空格分隔的数据框中保留空列

您需要一个读取固定宽度列的读取器:

pd.read_fwf(io.StringIO(raw_2))
#   A    B    C  D
#0  1  2.0  3.0  4
#1  5  NaN  6.0  7
#2  8  NaN  NaN  9

一般来说,这一程序不能保证有效。您可能需要手动指定列宽。

6 年前
回复了 DYZ 创建的主题 » 使用python从一系列日期中检查项目列表

将日期转换为 datetime 对象并进行直接比较:

from datetime import datetime as dt
FMT = "%d/%m/%Y"

[date for date in c 
 if  dt.strptime(a, FMT) 
  <= dt.strptime(date, FMT) 
  <= dt.strptime(b, FMT)]

#['01/08/2017', '20/08/2017', '21/08/2017', '22/08/2017', '23/08/2017', 
# '24/08/2017', '25/08/2017', '26/08/2017', '27/08/2017', '28/08/2017']
5 年前
回复了 DYZ 创建的主题 » python中的replace函数给出了错误的结果

dfF['Final'] = dfF['AlmostFinal']\
               .replace({'KOP|RWP|MMP': 'KOLPO'}, regex = True)