import
pandas
as
pd
data
=
{
"year"
:
[
2010
,
2011
,
2012
,
2013
]
,
"month"
:
[
1
,
2
,
3
,
4
]
,
"date"
:
[
5
,
6
,
7
,
8
]
}
df
=
pd
.
DataFrame
(
data
)
print
(
df
)
-
找到指定数值所在行索引:
index = df[df.year == 2012].index.tolist()[0]
print(index)
- 按索引行找到指定数值
value = df.month.loc[3]
print(value)
随便假设一个数据框:import csvimport pandas as pddata = {"year": [2010, 2011, 2012, 2013], "month": [1, 2, 3, 4], "date": [5, 6, 7, 8]}df = pd.DataFrame(data)print(df)找到指定数值所在行索引:# 找到指定数值所在行索引:# 比如2012年所在的行索引index = df[df.year == 2012].index.tolist()[
如果要自己指定行索引和列索引,可以使用 index 和 column 参数:
这个数据是5个车站10天内的客流数据:
ridership_df = pd.DataFrame(
data=[[ 0, 0, 2, 5, 0],
Python Pandas中Dataframe对象,如何根据列值筛选满足条件的行,并且返回列的索引值,我们举栗子说明一下:
1.先创建一个dataframe变量df:
df = pd.DataFrame(np.arange(16).reshape(4,4),
#index = pd.date_range('20200301', periods=4),
index = list('hjkl'),
columns = list('ABCD'))
df =df.append(df)
df的样子如下
对于DataFrame的修改操作其实有很多,不单单是某个部分的值的修改,还有一些索引的修改、列名的修改,类型修改等等。我们仅选取部分进行介绍。
一、值的修改
DataFrame的修改方法,其实前面介绍loc方法的时候介绍了一些。
1、 loc方法修改
loc方法实际上是定位某个位置的数据的,但是定位完以后就可以对此位置的数据进行修改,使用此方法可以对DataFrame进行的修改如下:
1.对某行、某N行进行修改;
2.对某列、某N列进行修改;
3.对横坐标为某行或某N行,纵坐标为某列或者某N列的数据进行修改;
可以看出基本用loc方法我们对DataFrame可以进行任意修改了。
1.1 对某行
因为课室人力调整,这个月上了好多晚班了,难受。
好吧,今日自律性不佳,看手机时间明显变多。
之前有一篇文章有写过关于找最大值的行列索引,考虑到想要更大的普遍性,学习了一下根据某个值确定行列索引。
直接上代码啦:
为了更深入的理解,我们看看a[‘卡号’]1和a.loc[0,:]'微会员’返回的是什么:
此篇完结。
在上面的例子中,我们先创建了一个dataframe,然后将列'B'设置为行索引。`set_index`方法会返回一个新的dataframe,原来的dataframe并没有改变。如果想要在原来的dataframe上直接修改,可以使用`inplace=True`参数:
```python
df.set_index('B', inplace=True)
print(df)