1
我指的是this問題,因爲我在從.csv文件讀取同一數據幀之前和之後遇到列類型奇怪的行爲。從開始:熊貓 - 閱讀文件之前/之後的不同dtype列
In [137]: df
Out[137]:
node1 node2 lang w c1 c2
0 1 2 it 1 a a
1 1 2 en 1 a a
2 2 3 es 2 a b
3 3 4 it 1 b b
4 5 6 it 1 c c
5 3 5 tg 1 b c
6 1 7 it 1 a a
7 7 1 es 1 a a
8 3 8 es 1 b b
9 8 4 es 1 b b
10 1 9 it 1 a a
然後執行GROUPBY:
In [138]: g = df.groupby(['c1','c2'])['lang'].unique().reset_index()
In [139]: g
Out[139]:
c1 c2 lang
0 a a [it, en, es]
1 a b [es]
2 b b [it, es]
3 b c [tg]
4 c c [it]
,並獲得lang
列返回的值:
In [148]: g['lang'].values
Out[148]:
array([array(['it', 'en', 'es'], dtype=object),
array(['es'], dtype=object), array(['it', 'es'], dtype=object),
array(['tg'], dtype=object), array(['it'], dtype=object)], dtype=object)
然後,如果我:
In [141]: g.to_csv('g.csv',index=False)
In [142]: g = pd.read_csv('g.csv')
In [143]: g
Out[143]:
c1 c2 lang
0 a a ['it' 'en' 'es']
1 a b ['es']
2 b b ['it' 'es']
3 b c ['tg']
4 c c ['it']
In [145]: g['lang'].values
Out[145]: array(["['it' 'en' 'es']", "['es']", "['it' 'es']", "['tg']", "['it']"], dtype=object)
所以讀t他從.csv文件導致了一個字符串數組,在寫入/讀取數據幀之前,它比原始數組數組處理起來要複雜得多。任何人都知道在從文件讀取數據幀後是否有辦法保持相同的格式?