python - 如何更改 DataFrame 中值的长度

标签 python pandas

我有一个由一列组成的数据框:

    close
0   176.380
1   176.290
2   176.740
3   177.200
4   177.600
5   177.270
6   177.190
7   177.660
8   177.890
9   177.450
10  177.185

此列中的值(类型 = float)长度不同。我想让所有值都具有相同的长度(6)。但我该怎么做呢?

我已经尝试过这个:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import sqlite3 

conn = sqlite3.connect("demo.db")
cur = conn.cursor()
rawdata_set = pd.read_sql('SELECT close FROM tbl_data', conn)

training_set = rawdata_set.head(100) 
for valid in training_set:
    count = 0
    if len(str(valid)) == 7:
        valid = int(str(training_set)[:6])
        count += 1

预期的结果是值的长度都是 6,但结果是我没有看到任何变化。也许我让事情变得比应有的更复杂。

    close
0   176.38
1   176.29
2   176.74
3   177.20
4   177.60
5   177.27
6   177.19
7   177.66
8   177.89
9   177.45
10  177.18

最佳答案

您可以使用 apply 方法和字符串格式将特定的浮点列转换为字符串列。

s = pd.Series(np.random.rand(10))

s
Out[6]: 
0    0.087582
1    0.896488
2    0.560789
3    0.298119
4    0.612291
5    0.750120
6    0.009479
7    0.449085
8    0.497474
9    0.342821

s.apply('{:.2f}'.format)

Out[9]: 
0    0.09
1    0.90
2    0.56
3    0.30
4    0.61
5    0.75
6    0.01
7    0.45
8    0.50
9    0.34
dtype: object

关于python - 如何更改 DataFrame 中值的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56958663/

相关文章:

Python:组合列表的列表

python - 用 Pandas 导入数据时卡住了错误

python - 我们可以使用hadoop运行现有程序还是只需要以mapreduce样式对其进行修改?

python - 如何从Python中的文件名中提取时间戳?

python - 将 pandas DataFrame 的每一行转换为嵌套的 JSON 对象

python - 分隔特定列并将它们添加为 CSV 中的列(Python3、CSV)

python - 通过匹配两个数据帧的整行来创建 bool 掩码

python - SQL查询错误字符串

python - Spyder IPython 和 "normal"IPython sys.path 之间的区别

python - 在 pickle 文件中添加新 key