hand
_1_21_11
4
python3.X - 数据分析 - Pandas
共95篇
python3.X - 数据分析 - Pandas
返回栏目
1k
0k
5k
0k
0.1k
0k
2k
3k
1k
1k
0.2k
3k
0k
4k
3k
3k
3k
3k
0.5k
5k
1k
0.3k
3k
4k
7k
2k
7k
0.8k
0.9k
1k
1k
2k
0.4k
0.6k
0.6k
0.5k
0.9k
0.9k
1k
0.9k
1k
0.8k
1k
0.4k
0.4k
0.3k
0.6k
1k
0.9k
1k
1k
1k
0.8k
1k
0.8k
1k
0.7k
0.6k
4k
0.4k
3k
0.7k
0.8k
0.8k
0.2k
2k
1k
0.7k
0.7k
0.4k
0.5k
3k
0.1k
0.7k
0.9k
0.3k
1k
0.4k
0.4k
1k
0.5k
0.1k
0.7k
1k
0k
0.2k
0.7k
0.3k
0k
0k
0.1k
0k
0k
0k
3k
返回python3.X - 数据分析 - Pandas栏目
作者:
贺及楼
成为作者
更新日期:2024-10-18 14:35:45
Pandas 的 loc 访问器用于基于标签的索引,它可以用于选择 DataFrame 或 Series 中的数据子集。loc 允许你指定行标签和列标签的组合来精确地选择你需要的数据。
以下是 loc 的一些关键特点:
基于标签的索引:
使用行标签和列标签来选择数据。
选择单列:
可以仅通过行标签选择单列的数据。
选择多列:
可以选择多列,返回一个 DataFrame。
选择单行:
可以通过指定单个行标签来选择单行。
选择多行:
可以选择多行,返回一个 DataFrame。
使用切片:
可以使用标签切片来选择数据范围。
布尔索引:
可以与布尔数组一起使用来进行条件选择。
就地修改:
可以就地修改数据,不返回新的 DataFrame。
保持索引:
默认情况下,使用 loc 选择数据会保持原始索引。
简介 | 功能 | 公式 | 释义 | 例子 |
---|---|---|---|---|
单行单列 | loc 用行名 + 列名 | df.loc[控制行,控制列] |
df.loc["行A名","列B名"] |
data = df.loc[1,"B"] |
单行n列 | loc 行名 + : | df.loc[控制行,控制列] |
df.loc["行A名",:] |
data = df.loc[2,:] |
n行单列 | loc : + 列名 | df.loc[控制行,控制列] |
df.loc[:, "列A名"] |
data = df.loc[:, "B"] |
/ | loc 不连续获得值 | / | df.loc[['行A名','行D名'],['列A名','列D名']] |
df.loc[[0,2],['A','C']] |
/ | loc连续获得值 | / | df.loc['行A名':'行D名','列A名':'列D名'] |
df.loc[0:2,'A':'C'] |
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
df = pd.DataFrame(data=[{"A":1, "B":3, "C":4}, {"A":3, "B":2, "C":5}, {"A":2, "B":1, "C":6}])
A | B | C | |
---|---|---|---|
0 | 1 | 3 | 4 |
1 | 3 | 2 | 5 |
2 | 2 | 1 | 6 |
df.loc[控制行,控制列] # 原理
df.loc["行A名","列B名"] # 单行单列,这里1个数
df.loc[1,"B"]
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.loc[1,"B"]
print(data)
df.loc[控制行,控制列] # 原理
df.loc["行A名",:] # 单行n列,就一行咯
df.loc[2,:]
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.loc[2,:]
print(data)
A | 2 |
B | 1 |
C | 6 |
Name: 2, dtype: int64
df.loc[:, "列A名"] # n行单列,就一列咯
pd.DataFrame(df.loc[:, "列A名"]) # 这里是Series类型,要转回DataFrame类型
df.loc[:, "B"]
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.loc[:, "B"]
print(data)
0 | 3 |
1 | 2 |
2 | 1 |
Name: B, dtype: int64
df.loc[['行A名','行D名'],['列A名','列D名']] # 2行2列,4个数(不连续的)
df.loc[[0,2],['A','C']]
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.loc[[0,2],['A','C']]
print(data)
A | C | |
---|---|---|
0 | 1 | 4 |
2 | 2 | 6 |
df.loc['行A名':'行D名','列A名':'列D名'] # 2行2列,4个数(连续的)
df.loc[0:2,'A':'C']
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.loc[0:2,'A':'C']
print(data)
A | B | C | |
---|---|---|---|
0 | 1 | 3 | 4 |
1 | 3 | 2 | 5 |
2 | 2 | 1 | 6 |
df.loc[i1, i2, i3, i4]["列A名"] = "新值" # 多index
df.loc[i1, "列A名"] = "新值"
df.loc[2, "B"] = 99
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
print(df)
df.loc[2, "B"] = 99
print(df)
data.loc[(data['A'] == 0) & (data['B'] == 1) & (data['C'].isnull())]
df.loc[df['判断列'] == 0, '目标列'] = "目标列改成xx"
import datetime
df["start_time"] = pd.to_datetime(df["start_time"], format='%Y-%m-%d %H:%M:%S')
df["end_time"] = pd.to_datetime(df["end_time"], format='%Y-%m-%d %H:%M:%S')
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 字符串
df = df.loc[(df['start_time'] <= now) & (df['end_time'] >= now)]
python3.X - 数据分析 - Pandas
整章节共95节
快分享给你的小伙伴吧 ~