我已经在 python 中创建了一个数据框,
import pandas as pd
d = {'col1': ["day1", "7:00", "8:00","9:00", "10:00", "11:00",
"day2", "7:00", "8:00","9:00", "10:00", "11:00",
"day3", "7:00", "8:00","9:00", "10:00", "11:00"],
'col2': [0, 4.1, 3, 3.5, 45.1, 16.9,
0, 6.5, 4, 9.8, 33.9, 19.8,
0, 6.9, 2.5, 7, 81.1, 13.8]}
df = pd.DataFrame(data=d)
print(df)
col1 col2
0 day1 0.0
1 7:00 4.1
2 8:00 3.0
3 9:00 3.5
4 10:00 45.1
5 11:00 16.9
6 day2 0.0
7 7:00 6.5
8 8:00 4.0
9 9:00 9.8
10 10:00 33.9
11 11:00 19.8
12 day3 0.0
13 7:00 6.9
14 8:00 2.5
15 9:00 7.0
16 10:00 81.1
17 11:00 13.8
例如,我想将 col1 中的所有时间线数据更改为天数
col1 col2
0 day1 0.0
1 day1 4.1
2 day1 3.0
3 day1 3.5
4 day1 45.1
5 day1 16.9
6 day2 0.0
7 day2 6.5
8 day2 4.0
9 day2 9.8
10 day2 33.9
11 day2 19.8
12 day3 0.0
13 day3 6.9
14 day3 2.5
15 day3 7.0
16 day3 81.1
17 day3 13.8
这只是一个示例数据集。所以我希望有一个通用的答案来解决这个问题。就像我们有 1000 天的数据集一样......
最佳答案
df.col1=df.col1.where(df.col1.str.isalnum()).ffill()
df
Out[242]:
col1 col2
0 day1 0.0
1 day1 4.1
2 day1 3.0
3 day1 3.5
4 day1 45.1
5 day1 16.9
6 day2 0.0
7 day2 6.5
8 day2 4.0
9 day2 9.8
10 day2 33.9
11 day2 19.8
12 day3 0.0
13 day3 6.9
14 day3 2.5
15 day3 7.0
16 day3 81.1
17 day3 13.8
关于python - 如何在 python 中更改数据框中的列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177371/