我有一个由日期和值列组成的数据框,有点像这样:
>>> df
date value
0 2016-09-10 value1
1 2016-09-10 value1
2 2016-09-10 value2
3 2016-09-10 value1
4 2016-09-12 value3
5 2016-09-12 value1
6 2016-09-13 value2
7 2016-09-13 value1
Run Code Online (Sandbox Code Playgroud)
我想,以取代所有的value1在df['value']那年秋天上,日期“2016年9月10日” value7。日期列是一个字符串系列。
我查看了 的文档pd.DataFrame.replace(),但找不到基于单独列的条件替换的参数。想到很多丑陋的方法来完成这项工作(for循环 with.loc可以解决问题),但是有没有人知道一个很好的,一两行,更pythonic的方法来做到这一点?提前致谢!
import pandas as pd
data = {'date': ['2016-09-10', '2016-09-10',
'2016-09-10', '2016-09-10',
'2016-09-12', '2016-09-12',
'2016-09-13', '2016-09-13'],
'value': ['value1', 'value1', 'value2', 'value1',
'value3', 'value1', 'value2', 'value1']}
df = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)
怎么样
>> df.loc[(df['date'] == '2016-09-10') & (df['value'] == 'value1'), 'value'] = 'value7'
Run Code Online (Sandbox Code Playgroud)
您可能需要阅读“索引和选择数据”部分以及此内容以获取更多信息
| 归档时间: |
|
| 查看次数: |
3577 次 |
| 最近记录: |