如何将Pandas DataFrame列值转换为可迭代的集合?

时间:2019-03-18 06:18:49

标签: python-3.x pandas dataframe

我需要将熊猫数据框列的逗号分隔的字符串值转换为可以是列表或数组的可迭代集合,因此我们可以对所得的值集进行迭代和操作。

您可以通过以下给出的示例数据来理解它:

__________________________
index | column1
__________________________
0     | val1, val2, val3
__________________________
1     | val3, val4
__________________________
2     | val5, val6, val7
__________________________

1 个答案:

答案 0 :(得分:1)

如果我了解您想要的内容:您可以使用split在每一行中创建列表,以便可以迭代column1的每一行和每个列表。

<!DOCTYPE html>
<html>
<head>
    <style type="text/css">

        .tab-cell {
            padding-left: 20px;
            padding-right:  20px;
        }

    </style>
</head>
<body>
    <table style="table-layout: fixed; text-align: center;" border="1">
        <tr>
            <th class = "tab-cell">Column A</th>
            <th class = "tab-cell">Column B</th>
            <th class = "tab-cell">Column C</th>
        </tr>
        <tr>
            <th class = "tab-cell">some content</th>
            <th class = "tab-cell">some looooooooooooooooooooooooooooooooong content</th>
            <th class = "tab-cell">some content</th>
        </tr>
    </table>
</body>
</html>

输出:

import pandas as pd

df = pd.DataFrame({'column1':['val1, val2, val3', 'val4, val5, val6', 'val7, val8']}) 
print(df)

df = df.apply(lambda x: x.column1.split(','),axis=1)    
print(df)

最终结果。

            column1
0  val1, val2, val3
1  val4, val5, val6
2        val7, val8