Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串中的分隔数据转换为单个列中的值_Python_Pandas_Data Manipulation - Fatal编程技术网

Python 将字符串中的分隔数据转换为单个列中的值

Python 将字符串中的分隔数据转换为单个列中的值,python,pandas,data-manipulation,Python,Pandas,Data Manipulation,我有这样一个数据帧: Var_1 201601_abc 201603_tbc;201608_sdf;201508_dsf 201601_abc;201508_dsf ... 我想要一个包含Var1中不同值的列(以“;”分隔的值被认为是不同的) 因此,最终的数据帧如下所示: Var_2 201601_abc 201603_tbc 201608_sdf 201508_dsf IIUC应采取以下措施: In [160]: df2 = pd.DataFrame(df['Var_1'].str.spl

我有这样一个数据帧:

Var_1
201601_abc
201603_tbc;201608_sdf;201508_dsf
201601_abc;201508_dsf
...
我想要一个包含Var1中不同值的列(以“;”分隔的值被认为是不同的)

因此,最终的数据帧如下所示:

Var_2
201601_abc
201603_tbc
201608_sdf
201508_dsf

IIUC应采取以下措施:

In [160]:
df2 = pd.DataFrame(df['Var_1'].str.split(';',expand=True).stack().unique(), columns=['Var_2'])
df2

Out[160]:
        Var_2
0  201601_abc
1  201603_tbc
2  201608_sdf
3  201508_dsf
这将分割分隔符上的值,然后s并返回值,然后我们可以基于返回的数组构造一个新的df

拆分上述步骤:

In [161]:
df['Var_1'].str.split(';',expand=True)

Out[161]:
            0           1           2
0  201601_abc        None        None
1  201603_tbc  201608_sdf  201508_dsf
2  201601_abc  201508_dsf        None

In [162]:    
df['Var_1'].str.split(';',expand=True).stack()

Out[162]:
0  0    201601_abc
1  0    201603_tbc
   1    201608_sdf
   2    201508_dsf
2  0    201601_abc
   1    201508_dsf
dtype: object

In [163]:
df['Var_1'].str.split(';',expand=True).stack().unique()

Out[163]:
array(['201601_abc', '201603_tbc', '201608_sdf', '201508_dsf'], dtype=object)

dataframe(是熊猫吗?)是什么意思?到目前为止您尝试过什么?如果您使用嵌套列表,您可以将其展平。谢谢。此处展开的功能是什么?它将在自己的列中返回每个拆分,这是必需的,因为这是一个
dataframe
方法,而不是
Series
方法