Заметки по изучению Python, день 55
CSV-файл панд
CSV (значения, разделенные запятыми, иногда также называемые значениями, разделенными символами, поскольку разделительный символ не обязательно должен быть запятой), его файл хранит табличные данные (числа и текст) в виде обычного текста.
CSV — это универсальный и относительно простой формат файлов, широко используемый пользователями, бизнесом и наукой.
read_csv()
Pandas очень удобно обрабатывать файлы CSV. В этой статье в качестве примера используется data.csv. Вы можете скачать data.csv или открыть data.csv для просмотра.
# 实例 1
import pandas as pd
df = pd.read_csv('data.csv')
print(df.to_string())
нанизывать()
to_string() используется для возврата данных типа DataFrame. Если эта функция не используется, результатом вывода будут первые 5 строк и последние 5 строк данных, а средняя часть будет заменена на....
# 实例 2
import pandas as pd
df = pd.read_csv('data.csv')
print(df)
to_csv()
Мы также можем использовать метод to_csv() для хранения DataFrame в виде файла csv:
# 实例 3
import pandas as pd
# 三个字段 name, site, age
nme = ["Google", "Taobao", "Wiki"]
st = ["www.google.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 80, 98]
# 字典
dict = {
'name': nme, 'site': st, 'age': ag}
df = pd.DataFrame(dict)
# 保存 dataframe
df.to_csv('site.csv')
обработка данных
голова()
Метод head(n) используется для чтения предыдущих n строк. Если параметр n не заполнен, по умолчанию будет возвращено 5 строк.
# 实例 5
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 5 行
print(df.head())
Обратите внимание, что head() по умолчанию возвращает первые 5 строк. Если вы хотите изменить количество строк по умолчанию, вы можете установить его с помощью параметра n в функции head(). Кроме того, вам необходимо сначала импортировать библиотеку pandas и прочитать файл csv в объект DataFrame.
# 实例 6
import pandas as pd
df = pd.read_csv('data.csv')
# 读取前面 10 行
print(df.head(10))
хвост()
Метод Tail(n) используется для чтения n строк в конце. Если параметр n не заполнен, по умолчанию будет возвращено 5 строк. Значение каждого поля в пустой строке вернет NaN. Если указан параметр n, возвращаются последние n строк. Если n больше количества строк в DataFrame, возвращаются все строки.
# 实例 7
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 5 行
print(df.tail())
Обратите внимание, что в этом примере метод Tail() использовался правильно для чтения последних 5 строк файла data.csv. Если в файле достаточно строк, метод Tail() вернет последние 5 строк данных. Если файл недостаточно длинный, количество возвращаемых строк будет таким же, как фактическое количество строк в файле.
Кроме того, для пустых строк Pandas возвращает NaN для значений различных полей. Если вы хотите рассматривать пустые строки как строки с определенным значением (например, 0 или ''), вы можете использовать метод fillna() для заполнения пропущенных значений.
наполнять()
# 实例 8
import pandas as pd
df = pd.read_csv('data.csv')
# 将空行填充为0
print(df.tail().fillna(0))
То же самое касается чтения последних 10 строк.
# 实例 9
import pandas as pd
df = pd.read_csv('data.csv')
# 读取末尾 10 行
print(df.tail(10).fillna(0))
Информация()
Метод info() в основном используется для вывода информации, связанной с DataFrame, в библиотеке Pandas. Сюда входят такие вещи, как количество строк, столбцов, количество ненулевых значений и тип данных каждого столбца.
Когда вы вызываете метод info() для объекта DataFrame, он выводит следующую информацию:
- Подробная информация об индексе DataFrame (метки строк), включая минимальное, максимальное, уникальные значения и шаг.
- Метки столбцов DataFrame и некоторая его статистическая информация, включая тип данных, количество ненулевых значений и т. д.
- Количество строк и столбцов DataFrame.
# 实例 10
import pandas as pd
df = pd.read_csv('data.csv')
print(df.info())
Когда вы запустите приведенный выше код, метод info() выведет информацию, подобную следующей (конкретное содержимое зависит от ваших данных), например:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 500 entries, 0 to 499 # 行数,500 行,第一行编号为 0
Data columns (total 13 columns): # 列数,13列
# Column Non-Null Count Dtype # 各列的数据类型
--- ------ -------------- -----
0 team 500 non-null object # non-null,意思为非空的数据
1 player 483 non-null object
2 pos 483 non-null object
3 age 483 non-null float64
4 height 483 non-null float64
...
11 mp_mp 500 non-null float64
12 mp40 500 non-null float64
13 mp40g 498 non-null float64
dtypes: float64(7), int64(2), object(4) # 类型
memory usage: 49.3 KB
Этот вывод иллюстрирует:
- Категория DataFrame (в данном случае DataFrame pandas) и диапазон индекса.
- Количество столбцов и ненулевых значений DataFrame.
- Количество и тип данных ненулевых значений в каждом столбце.
- Количество пропущенных значений на столбец (если есть).
- Объем памяти, используемый DataFrame.
постскриптум
Сегодня вы изучаете Python Pandas DataFrame. Вы его выучили? Краткое содержание сегодняшнего учебного материала:
- CSV-файл панд
- read_csv()
- нанизывать()
- to_csv()
- обработка данных
- голова()
- хвост()
- Информация()