gpt4 book ai didi

python - 如何将数据分离到 pandas 中的不同变量中

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:22 25 4
gpt4 key购买 nike

嘿伙计们,我有一个看起来像这样的数据 train.dat 。我正在尝试创建一个变量,该变量将包含包含(-1或1)的列的第[ith]值,以及另一个变量来保存具有字符串的列的值。

到目前为止我已经尝试过了,

  df=pd.read_csv("train.dat",delimiter="\t", sep=',')
# print(df.head())


# separate names from classes
vals = df.ix[:,:].values
names = [n[0][3:] for n in vals]
cls = [n[0][0:] for n in vals]
print(cls)

但是输出看起来很困惑,任何帮助将不胜感激。我是Python初学者

最佳答案

如果数值后面的字符是制表符,那就没问题,您所需要的只是

import io # using io.StringIO for demonstration
import pandas as pd

ratings = "-1\tThis movie really sucks.\n-1\tRun colored water through
a reflux condenser and call it a science movie?\n+1\tJust another zombie flick? You'll be surprised!"

df = pd.read_csv(io.StringIO(ratings), sep='\t',
header=None, names=['change', 'rating'])
  • 传递 header=None 可确保第一行被解释为数据。
  • 传递names=['change', ' rating']提供了一些(合理的)列标题。

当然,这个字符不是制表符:D。

import io # using io.string
import pandas as pd

ratings = "-1 This movie really sucks.\n-1 Run colored water through a
reflux condenser and call it a science movie?\n+1 Just another zombie
flick? You'll be surprised!"

df = pd.read_csv(io.StringIO(ratings), sep='\t',
header=None, names=['stuff'])

df['change'], df['rating'] = df.stuff.str[:3], df.stuff.str[3:]
df.drop('stuff', axis=1)

一个可行的选择是将整个评级作为一个临时列读取,拆分字符串,将其分配到两列,最后删除临时列。

关于python - 如何将数据分离到 pandas 中的不同变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46656594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com