Python:将TXT加载的列表转换为指定列名Dataframe求助
解决方法:将TXT字符串数组转为指定列名的DataFrame
嘿,作为Python新手碰到这种格式转换问题太正常啦,我给你两个简单又实用的方案,直接就能上手~
方案1:直接从TXT文件读取(最省事!)
你的TXT文件里的内容是逗号分隔的,其实和CSV格式完全一致,用pandas的read_csv就能一步到位生成带列名的DataFrame:
import pandas as pd # 替换成你的TXT文件路径 df = pd.read_csv('your_file.txt', names=['movieID', 'customerID', 'rating', 'date'])
这里的names参数就是用来指定你要的列名,read_csv会自动按逗号分割每一行内容,完美匹配你的数据格式。
方案2:如果已经把内容加载成数组了
要是你已经通过其他方式(比如open()读取)把数据存成了一个包含1743个字符串的数组,那可以先把每个字符串按逗号拆分,再转成DataFrame:
import pandas as pd # 假设你的数组叫data_list,比如是这样的结构 # data_list = ['1,1232,3,2018-03-24', '2,456,5,2018-04-10', ...] # 把每个字符串拆分成列表,形成二维数据 split_data = [item.split(',') for item in data_list] # 生成DataFrame并指定列名 df = pd.DataFrame(split_data, columns=['movieID', 'customerID', 'rating', 'date']) # 可选但推荐:把列转换成对应的数据类型 df['movieID'] = df['movieID'].astype(int) df['customerID'] = df['customerID'].astype(int) df['rating'] = df['rating'].astype(int) df['date'] = pd.to_datetime(df['date'])
转换数据类型这一步很重要,比如把评分转成整数、日期转成datetime类型,后续做数据分析或者筛选的时候会方便很多~
内容的提问来源于stack exchange,提问作者Anton Gustafsson Drevinum
相关产品推荐
相关产品推荐

