1.dataFrame的几种遍历方式

from recall import config
from sklearn.model_selection import train_test_split
# 1.dataframe的遍历
import pandas as pd
import os

# 设置pandas的全部列数
pd.set_option('display.max_columns', None)

data_path='../raw_data'
meta_music = "../raw_data/music_meta"
df = pd.read_csv(os.path.join(data_path, 'music_meta'), sep="\001", names=['item_id', 'item_name', 'desc', 'total_len', 'loc', 'tags'], nrows=4)
df.fillna('-')

print("---几种不同的迭代方式,根据不同要求取舍-----")
print("-------------- 1 -----------------")
# 输出index ,Series类型(只有两列)
for row in df.iterrows():
    print(row[1]['total_len'])
    break
print("-------------- 2 -----------------")
# 输出tuple
for row in df.itertuples():
    print(row[0], " ", row[1], " ", row[2], " ", row[3])
    break
print("-------------- 3 -----------------")
# 输出name ,Series类型(只有两列)
for row in df.iteritems():
    print(row[1][2])
    break
# 注意:iterrows()和iteritem是不一样的,前者是确实对行进行遍历,后者是对列进行遍历
print("-------------------------")
print(df.head(1))
print("-------------------------")

# 练习,从item_id中找出item_id为29900100的行
for row in df.iteritems():
    # 这里不能使用dtype
    print(type(row[1][2]))
    if row[1][2] == 29900100:
        print("哈哈!!!找到了")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值