【问题标题】:How to use the "new line" command when converting a list into a dataframe?将列表转换为数据框时如何使用“换行”命令?
【发布时间】:2021-04-09 06:47:19
【问题描述】:

我正在将字符串转换为 DataFrame,但是当读取为 csv,然后是列表时,字符串将每个字母作为 DataFrame 中的新行进行迭代。如何编码新行的开始位置?

'overs' 变量是一个字符串:

BASKETBALL - NBA
SPREAD
MONEY
TOTAL
...

以下代码返回一个每行一个字母的 DataFrame。

df = pd.DataFrame(list(reader(overs)))

返回:

col_name: 0 
data: 0      B
1      A
2      S
3      K
4      E
      ..
250     
251    P
252    L
253    A
254    Y
Name: 0, Length: 255, dtype: object

【问题讨论】:

  • pandas 为此提供了“read_csv”功能。

标签: python pandas list csv iterable


【解决方案1】:

您可以使用pd.read_csv 和header=None,这样它就不会使第一个值成为列:

df = pd.read_csv('overs.txt', header=None)
print(df)

【讨论】:

    【解决方案2】:

    您可以使用.split('\n'),它将返回一个列表,其中每个元素在新行上拆分。但就像其他人说的,为什么不直接使用pandas'.read_csv()?

    import pandas as pd
    
    overs = '''BASKETBALL - NBA
    SPREAD
    MONEY
    TOTAL'''
    
    df = pd.DataFrame(overs.split('\n'))
    

    输出:

    print (df)
                      0
    0  BASKETBALL - NBA
    1            SPREAD
    2             MONEY
    3             TOTAL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-01
      • 2019-06-26
      • 2019-11-16
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      相关资源
      最近更新 更多