如何将 python 中偶数行的值替换为奇数行?
How to replace values from even rows into odd rows in python?
我想用偶数行的值替换所有奇数行的值。这是我现在的数据框:
例如在第二个索引中:Cheek meat,trimmed 的值为 141.23,我希望所有这些值替换顶部的值,即第一个索引行。
我已经尝试使用 .loc 方法和 replace 方法,但我无法这样做。我也是 python 的新手。请帮忙!谢谢
示例数据框
import pandas as pd
df = pd.DataFrame({'Date': ['2011', '2012', '2013','2014'],
'col1': [20, 50, 40,60],'col2': [20, 50, 40,60]}})
Out[1]:
Date col1 col2
1 2011 20 20
2 2012 50. 50
3 2013 40. 40
4 2014 60. 60
我希望输出为
Out[2]:
Date col1 col2
1 2011 50. 50
2 2012 00. 00
3 2013 60. 60
4 2014 00. 00
比如说,我们有多个列。
试试这个:
df = df.set_index('Date').shift(-1)
df.loc[df.reset_index().index % 2 == 1] = 0
df = df.reset_index()
输出:
>>> df
Date col1 col2
0 2011 50.0 50.0
1 2012 0.0 0.0
2 2013 60.0 60.0
3 2014 0.0 0.0
我想用偶数行的值替换所有奇数行的值。这是我现在的数据框:
例如在第二个索引中:Cheek meat,trimmed 的值为 141.23,我希望所有这些值替换顶部的值,即第一个索引行。
我已经尝试使用 .loc 方法和 replace 方法,但我无法这样做。我也是 python 的新手。请帮忙!谢谢
示例数据框
import pandas as pd
df = pd.DataFrame({'Date': ['2011', '2012', '2013','2014'],
'col1': [20, 50, 40,60],'col2': [20, 50, 40,60]}})
Out[1]:
Date col1 col2
1 2011 20 20
2 2012 50. 50
3 2013 40. 40
4 2014 60. 60
我希望输出为
Out[2]:
Date col1 col2
1 2011 50. 50
2 2012 00. 00
3 2013 60. 60
4 2014 00. 00
比如说,我们有多个列。
试试这个:
df = df.set_index('Date').shift(-1)
df.loc[df.reset_index().index % 2 == 1] = 0
df = df.reset_index()
输出:
>>> df
Date col1 col2
0 2011 50.0 50.0
1 2012 0.0 0.0
2 2013 60.0 60.0
3 2014 0.0 0.0