小编ge0*_*rge的帖子

将不同的格式应用于不同的列数据框

我有以下 df:

table:

     A             B               C                 D
0  0.000000       0.000000      -0.002520          -0.002520
1  0.209772       0.016262       0.003411           0.024343
2 -0.006474      -0.000152       0.000152           0.000000
Run Code Online (Sandbox Code Playgroud)

真正的 df 大约有 12 列和 40 行。

我想改变它的格式:

我面临的问题是如何将格式应用于某些列,并将不同的格式应用于其他列。通常我习惯于将格式应用于整个 dfs 而不是单独应用于列。

所需的输出将是这样的:

table:

    A             B            C               D
0  0.00%       0.000%      -0.000%          -0.00%
1  0.20%       0.067%       0.001%           0.43%
2 -0.00%      -0.000%       0.015%           0.00%
Run Code Online (Sandbox Code Playgroud)

正如您在所需的输出列中所看到的,A 和 D 被四舍五入为 2 个有效数字,B 和 C 被四舍五入为 3 个有效数字,并将 % 添加到所有这些数字中

这是我尝试过但没有奏效的方法:

 format_AD = "{0:.2f}%".format
 format_BC=  "{0:.3f}%".format

 format_changeAD=[table.loc[:,['A','D']]]
 format_changeBC=[table.loc[:,['B','C']]]

 format_changeAD.apply(format_AD)
 format_changeBC.apply(format_BC)

 return table
Run Code Online (Sandbox Code Playgroud)

pandas

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

替换列表中的子串

我期待摆脱列表中每个元素后面的空格:

  list1 = ['Aena', 'Cellnex Telecom', 'Amadeus', 'Abertis']
Run Code Online (Sandbox Code Playgroud)

为了获得这样的列表:

  list1 = ['Aena','Cellnex Telecom','Amadeus','Abertis']
Run Code Online (Sandbox Code Playgroud)

我尝试了以下循环但返回相同的初始列表:

new_list = [stocks.replace(" ","") for stocks in list1]
Run Code Online (Sandbox Code Playgroud)

new_list = [stocks.replace(", '",",'") for stocks in list1]

print(new_list)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我获得没有空格的所需列表吗?

python list

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

将字典拆分为 df 中的各个列

我有以下df值是字典:

                    tests
SO4  {'Mon': 6, 'Tues': 6, 'Wed': 7}
CH3  {'Mon': 0, 'Tues': 8, 'Wed': 10}
Run Code Online (Sandbox Code Playgroud)

我想获得所需的输出:

         0        1          2
SO4  'Mon': 6 'Tues': 6 'Wed': 7
CH3  'Mon': 0 'Tues': 8 'Wed': 10
Run Code Online (Sandbox Code Playgroud)

我怎么能把字典分成单独的列?

我已经看到使用rsplit函数拆分字符串的列,但不确定如何在字典作为值的情况下应用它。

pandas

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

摆脱嵌套字典中包含 None 值的键

我有以下字典:

dict_2 = {
    'key1': {'subkey1': 2, 'subkey2': 7, 'subkey3': 5},
    'key2': {'subkey1': None, 'subkey2': None, 'subkey3': None},
}
Run Code Online (Sandbox Code Playgroud)

我期待通过删除带有嵌套字典的整个键来清除 中dict_2的这些Nonesubkeys

总之我的输出应该是:

dict_2={key1:{subkey1:2,subkey2:7,subkey3:5}}
Run Code Online (Sandbox Code Playgroud)

我试过的是:

glob_dict={}

for k,v in dict_2.items():
    dictionary={k: dict_2[k] for k in dict_2 if not None (dict_2[k]
['subkey2'])}
    if bool(glob_dict)==False:
        glob_dict=dictionary
    else:
        glob_dict={**glob_dict,**dictionary}

print(glob_dict)
Run Code Online (Sandbox Code Playgroud)

我目前的输出是:

TypeError: 'NoneType' object is not callable
Run Code Online (Sandbox Code Playgroud)

我不确定循环是否是摆脱None嵌套循环值的最佳方式,我也不确定如何表达我想摆脱这些None值。

python dictionary nested

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

将双方括号变成单方括号

如何将numpy数组的双方括号删除为列表的单个方括号?

[[0, 3.49, 0, 4.55]]
Run Code Online (Sandbox Code Playgroud)

期望的输出

[0,3.49,0,4.55]
Run Code Online (Sandbox Code Playgroud)

我已经搜索过SO寻找numpy数组以列出,方括号numpy,无法找到答案

to_list() 仅在值之间添加逗号

python numpy

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

获取最接近给定日期的日期列表的索引

我有以下内容date

date=np.datetime64 (2019-12-15)
Run Code Online (Sandbox Code Playgroud)

然后我有一个 np.datetime64 日期列表:

['2018-01-01','2019-01-01','2019-04-12','2019-12-01']
Run Code Online (Sandbox Code Playgroud)

我想indexlist最接近我的日期获得。

所需的输出是3日期列表中最接近我的日期的位置。

鉴于我不知道如何测试我的问题,我无法提供示例。

我只能想到一个assert.AlmostEqual,但我不确定如何将其反映在一个例子中。

python date

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

尝试使用 crontab 和简单的 python 脚本运行一个简单的 docker 容器

所以我对创建容器还很陌生,我有一个简单的 Dockerfile,我想在其中每分钟运行一个简单的 python 脚本:

FROM python:3.8-buster
RUN apt-get update && apt-get install -y cron
COPY my_python /bin/my_python
COPY root /var/spool/cron/crontabs/root
RUN chmod +x /bin/my_python
CMD cron -l 2 -f
Run Code Online (Sandbox Code Playgroud)

其中我的_python:

print("hi world!!")
Run Code Online (Sandbox Code Playgroud)

和根:

* * * * * python3 /bin/my_python
Run Code Online (Sandbox Code Playgroud)

然后我只创建图像和容器:

 docker image build -t python-test
 docker container run -it --name python-test python-test
Run Code Online (Sandbox Code Playgroud)

我应该每分钟都会看到一个带有 hi world 的打印,但是当运行容器时(在图像构建之后)似乎没有出现日志。

我究竟做错了什么?

cron containers docker dockerfile

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

标签 统计

python ×4

pandas ×2

containers ×1

cron ×1

date ×1

dictionary ×1

docker ×1

dockerfile ×1

list ×1

nested ×1

numpy ×1