dataframe按行遍历按列遍历,切片举例
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
a | b | c | |
---|---|---|---|
0 | 1 | 2 | 3 |
1 | 4 | 5 | 6 |
1.按行遍历
(1)
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.index:
print(df.loc[indexs])
df.iloc[indexs]和df.loc[indexs]输出结果相同
输出:
A 1
B 2
C 3
Name: 0, dtype: int64
A 4
B 5
C 6
Name: 1, dtype: int64
A,B,C是列名
(2)
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.index:
print(df.loc[indexs][0])
# [0]表示输出第0列也就是A列上的数据
# df.loc[indexs][0]和df.loc[indexs].values[0]输出结果相同
输出:
1
4
(3)values[]配合切片的用法
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.index:
print(df.loc[indexs].values[:])
values[:]或values[0:]:取所有元素
[1 2 3]
[4 5 6]
values[-1]:取最后一个元素
3
6
values[:-1]:取最后一个元素之外的所有元素
[1 2]
[4 5]
values[::-1]:取所有元素倒序输出
[3 2 1]
[6 5 4]
2.按列遍历
(1)
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.columns:
print(df[indexs])
输出:
0 1
1 4
Name: A, dtype: int64
0 2
1 5
Name: B, dtype: int64
0 3
1 6
Name: C, dtype: int64
(2)values[]配合切片的用法
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.columns:
print(df[indexs].values)
输出:
[1 4] --第一列
[2 5] --第二列
[3 6] --第三列
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.columns:
#df[indexs].values[1]效果等同于df[indexs][1]
print(df[indexs].values[1])
输出:
4 --第一列第二行数据
5 --第二列第二行数据
6 --第三列第二行数据
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['A','B','C'])
for indexs in df.columns:
print(df[indexs].values[::-1])
输出:
[4 1] --第一列倒序
[5 2] --第二列倒序
[6 3] --第三列倒序