目录
csv的数据
怎样利用pandas导入csv
ps:
- 如果出现('utf-8' codec can't decode byte 0xe4 in position 343: invalid continuat)的情况 需要添加条件: df = pd.read_csv("Students.csv",encoding='ISO-8859-1')
- pd.read_csv("为csv的路径")
import pandas as pd
# 直接读取csv
df = pd.read_csv("Students.csv")
print(df)
#输出
name Gender age
0 Student1 boy 19
1 Student2 girl 18
2 Student3 girl 18
3 Student4 boy 18
怎样访问csv的某一行?
怎样访问csv的前几行?
ps:
访问某一行的时候, 列表数据第一行为0,第二行为1,依次递增 (忽略了每一列的标题)
访问前几行的时候,输入几,就访问几行,从1开始.(忽略了每一列的标题)
import pandas as pd
df = pd.read_csv("Students.csv")
# 返回某一行的数据
print(df.iloc[2]) # 返回第三行
#输出
name Student3
Gender girl
age 18
Name: 2, dtype: object
# 返回前XX行的数据,注意 不含有标题head。
a = pd.read_csv("Students.csv",nrows= 2) #返回前两行
print(a)
#输出
name Gender age
0 Student1 boy 19
1 Student2 girl 18
怎样访问csv的某列?
ps:访问列的时候,只需要输入每一列的标题即可,相当于可记为一个数组的访问.
import pandas as pd
df = pd.read_csv("Students.csv")
# 返回x列的数据
print(df["name"]) # name为列的名称
#输出
0 Student1
1 Student2
2 Student3
3 Student4
Name: name, dtype: object
怎样在大数据中精确查找值?
ps:把行和列结合便可以得到某一个精确的值
import pandas as pd
df = pd.read_csv("Students.csv")
#返回 Student1 的年龄
print(df.iloc[0]["age"])
#输出
19
怎样提取某列不重复数据?
import pandas as pd
df = pd.read_csv("Students.csv")
# 提取年龄组的不重复年龄列
ages = df["age"].unique()
print(ages)
#输出 [19 18]
怎样合并几列数据?
import pandas as pd
df = pd.read_csv("Students.csv")
# 数据合并(需要Student 的所有信息并合并)
df["information"] = df["name"].map(str)+": "+df["Gender"].map(str) +","+ df["age"].map(str)
print(df["information"])
#输出
0 Student1: boy,19
1 Student2: girl,18
2 Student3: girl,18
3 Student4: boy,18
Name: information, dtype: object